openapi: 3.0.1
info:
  title: Masking API
  description: Schema for the Continuous Compliance Engine API
  version: 5.1.47
servers:
  - url: /masking/api/v5.1.47
security:
  - api_key: []
paths:
  /algorithms:
    get:
      tags:
        - algorithm
      summary: Get all algorithms
      operationId: getAllAlgorithms
      parameters:
        - name: mask_type
          in: query
          description: The data type of value this algorithm can mask.
          schema:
            type: string
            enum:
              - BIG_DECIMAL
              - LOCAL_DATE_TIME
              - STRING
              - BYTE_BUFFER
              - GENERIC_DATA_ROW
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithms. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - algorithm
      summary: Create algorithm
      operationId: createAlgorithm
      requestBody:
        description: The algorithm to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Algorithm'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /algorithms/{algorithmName}:
    get:
      tags:
        - algorithm
      summary: Get algorithm by name
      operationId: getAlgorithm
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm to get
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Algorithm'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - algorithm
      summary: Update algorithm by name
      operationId: updateAlgorithm
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm to update
          required: true
          schema:
            type: string
      requestBody:
        description: The updated algorithm
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Algorithm'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - algorithm
      summary: Delete algorithm by name
      operationId: deleteAlgorithm
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm to delete
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/migration:
    get:
      tags:
        - algorithm
      summary: Get a list of all algorithms that support migration to a new framework
      operationId: getAvailableMigrations
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmMigrationList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/{algorithmName}/migration:
    post:
      tags:
        - algorithm
      summary: Create a migrated copy of an existing legacy algorithm
      operationId: migrateAlgorithm
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm to be migrated.
          required: true
          schema:
            type: string
        - name: newAlgorithmName
          in: query
          description: >-
            The name of the new algorithm to be created by the migration
            process.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/{algorithmName}/randomize-key:
    put:
      tags:
        - algorithm
      summary: Randomize algorithm key by name
      operationId: randomizeAlgorithmKey
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm who's key should be randomized
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Algorithm'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/{algorithmName}/usage:
    get:
      tags:
        - algorithm
      summary: >-
        Generate a report listing all usage of an algorithm on the masking
        engine
      operationId: getAlgorithmUsageReport
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm
          required: true
          schema:
            type: string
        - name: includeAssignmentDetail
          in: query
          description: >-
            Whether to include extended, human-readable algorithm assignment
            detail in the report. File and mainframe format usages are expanded
            to show each usage across environments, rulesets and files. The
            content and ordering of these details are subject to change.
          required: true
          schema:
            type: boolean
            default: false
        - name: excludeChainedAlgorithms
          in: query
          description: >-
            Whether to exclude chained algorithm. This parameter will skip the
            computation of referencing algorithms
          required: false
          schema:
            type: boolean
            default: false
        - name: environmentFilter
          in: query
          description: >-
            Report only usage occurring within the specified environment(s).
            When the algorithm is used in a file format, all usage of that file
            format is reported so long as it is referenced by any environment
            matching the filter. Filtering by environment excludes all domain
            and algorithm reference usage.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: rulesetFilter
          in: query
          description: >-
            Report only usage occurring within the specified ruleset(s). When
            the algorithm is used in a file format, all usage of that file
            format is reported so long as it is referenced by any ruleset
            matching the filter. Filtering by ruleset excludes all domain and
            algorithm reference usage.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmUsageReport'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - algorithm
      summary: >-
        Update ALL usage on the engine of the chosen algorithm to the
        replacement algorithm
      operationId: updateAlgorithmUsage
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm
          required: true
          schema:
            type: string
        - name: replacementAlgorithmName
          in: query
          description: The name of the replacement algorithm
          required: true
          schema:
            type: string
        - name: ignoreIncompatibleTypes
          in: query
          description: >-
            Update usage even when the original and new algorithms have
            incompatible masking types.
          required: true
          schema:
            type: boolean
            default: false
        - name: environmentFilter
          in: query
          description: >-
            Only update usage occurring within the specified environment(s).
            When an environment filter is applied, domain and algorithm
            reference usage is not updated. This operation will fail if any file
            format referencing the algorithm is used from environments that
            don't match the filter.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: rulesetFilter
          in: query
          description: >-
            Only update usage occurring within the specified ruleset(s). When a
            ruleset filter is applied, domain and algorithm reference usage is
            not updated. This operation will fail if any file format referencing
            the algorithm is used from rulesets that don't match the filter.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmUsageReport'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/{algorithmName}/export-lookup-values:
    post:
      tags:
        - algorithm
      summary: Export lookup values for secure lookup algorithm
      operationId: exportValues
      parameters:
        - name: algorithmName
          in: path
          description: The name of the algorithm
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/validate:
    post:
      tags:
        - algorithm
      summary: Validate algorithm
      operationId: validateAlgorithm
      requestBody:
        description: The algorithm to validate
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Algorithm'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmValidation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAlgorithmsController
      x-converter-class: com.dmsuite.web.swagger.converter.AlgorithmConverter
      x-validator-class: com.dmsuite.web.validators.AlgorithmValidator
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /algorithm/frameworks:
    get:
      tags:
        - algorithm
      summary: Get all algorithm frameworks
      operationId: getAllAlgorithmFrameworks
      parameters:
        - name: mask_type
          in: query
          description: Return only frameworks that mask the specified data type.
          schema:
            type: string
            enum:
              - BIG_DECIMAL
              - LOCAL_DATE_TIME
              - STRING
              - BYTE_BUFFER
              - GENERIC_DATA_ROW
        - name: include_schema
          in: query
          description: >-
            Whether to include each algorithm framework's JSON schema in the
            response.
          schema:
            type: boolean
            default: false
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithm frameworks. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmFrameworkList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenAlgorithmController
      x-converter-class: com.dmsuite.web.swagger.converter.AlgorithmFrameworkConverter
      x-operator-class: com.dmsuite.manager.AlgorithmManager
      x-validator-class: com.dmsuite.web.validators.AlgorithmValidator
      x-manager-needs-user: true
      x-audit-ignore-return: true
      x-audit-action-type: GET_ALL
      x-audit-target: ALGORITHM
      x-contentType: application/json
      x-accepts: application/json
  /algorithm/frameworks/id/{frameworkId}:
    get:
      tags:
        - algorithm
      summary: Get algorithm framework by frameworkId
      operationId: getAlgorithmFramework
      parameters:
        - name: frameworkId
          in: path
          description: The id of the framework
          required: true
          schema:
            type: integer
            format: int64
        - name: include_schema
          in: query
          description: >-
            Whether to include each algorithm framework's JSON schema in the
            response.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlgorithmFramework'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenAlgorithmController
      x-converter-class: com.dmsuite.web.swagger.converter.AlgorithmFrameworkConverter
      x-operator-class: com.dmsuite.manager.AlgorithmManager
      x-validator-class: com.dmsuite.web.validators.AlgorithmValidator
      x-manager-needs-user: true
      x-audit-action-type: GET
      x-audit-target: ALGORITHM
      x-contentType: application/json
      x-accepts: application/json
  /algorithms/frameworks/{frameworkId}/defaultExtension: {}
  /algorithms/search: {}
  /analytics: {}
  /analytics/{analyticId}: {}
  /analytics/{analyticId}/cancel: {}
  /application-logs:
    get:
      tags:
        - logging
      summary: >-
        Get all logs. Note that the logs will be returned in order from most
        recent to least recent.
      operationId: getAllLogs
      parameters:
        - name: log_level
          in: query
          description: >-
            The log level of the log file. Note that, if this parameter is
            excluded, the log files will be returned in alphabetical order with
            respect to their log level.
          schema:
            type: string
            enum:
              - DEBUG
              - ERROR
              - INFO
              - WARN
        - name: page_number
          in: query
          description: >-
            The page number for which to get logs. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogFileInfoList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerApplicationLogsController
      x-contentType: application/json
      x-accepts: application/json
  /application-logs/contents: {}
  /application-logs/files: {}
  /applications:
    get:
      tags:
        - application
      summary: Get all applications
      operationId: getAllApplications
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get applications. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationList'
        '400':
          description: Bad request
      x-swagger-router-controller: GenApplicationsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationConverter
      x-operator-class: com.dmsuite.manager.ApplicationManager
      x-validator-class: com.dmsuite.web.validators.ApplicationValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: APPLICATION
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - application
      summary: Create application
      operationId: createApplication
      requestBody:
        description: The application to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '400':
          description: Bad request
        '409':
          description: Conflict
      x-swagger-router-controller: GenApplicationsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationConverter
      x-operator-class: com.dmsuite.manager.ApplicationManager
      x-validator-class: com.dmsuite.web.validators.ApplicationValidator
      x-audit-action-type: CREATE
      x-audit-target: APPLICATION
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /applications/{applicationId}:
    get:
      tags:
        - application
      summary: Get application by ID
      operationId: getApplicationById
      parameters:
        - name: applicationId
          in: path
          description: The ID of the application to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenApplicationsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationConverter
      x-operator-class: com.dmsuite.manager.ApplicationManager
      x-validator-class: com.dmsuite.web.validators.ApplicationValidator
      x-audit-action-type: GET
      x-audit-target: APPLICATION
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - application
      summary: Delete application by ID
      operationId: deleteApplication
      parameters:
        - name: applicationId
          in: path
          description: The ID of the application to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenApplicationsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationConverter
      x-operator-class: com.dmsuite.manager.ApplicationManager
      x-validator-class: com.dmsuite.web.validators.ApplicationValidator
      x-audit-action-type: DELETE
      x-audit-target: APPLICATION
      x-contentType: application/json
      x-accepts: application/json
  /applications/search: {}
  /application-settings:
    get:
      tags:
        - applicationSettings
      summary: Get all application settings
      operationId: getAllApplicationSettings
      parameters:
        - name: setting_group
          in: query
          description: The group of the setting
          schema:
            type: string
        - name: page_number
          in: query
          description: >-
            The page number for which to get application settings. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSettingsList'
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerApplicationSettingsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationSettingsConverter
      x-operator-class: com.dmsuite.manager.ApplicationSettingsManager
      x-validator-class: com.dmsuite.web.validators.ApplicationSettingsValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: APPLICATION_SETTING
      x-contentType: application/json
      x-accepts: application/json
  /application-settings/public: {}
  /application-settings/{settingId}:
    get:
      tags:
        - applicationSettings
      summary: Get application setting by ID
      operationId: getApplicationSettingById
      parameters:
        - name: settingId
          in: path
          description: The ID of the setting
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSettings'
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerApplicationSettingsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationSettingsConverter
      x-operator-class: com.dmsuite.manager.ApplicationSettingsManager
      x-validator-class: com.dmsuite.web.validators.ApplicationSettingsValidator
      x-audit-action-type: GET
      x-audit-target: APPLICATION_SETTING
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - applicationSettings
      summary: Update application setting by ID
      operationId: updateApplicationSetting
      parameters:
        - name: settingId
          in: path
          description: The ID of the setting
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated application setting
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSettings'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationSettings'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerApplicationSettingsController
      x-converter-class: com.dmsuite.web.swagger.converter.ApplicationSettingsConverter
      x-operator-class: com.dmsuite.manager.ApplicationSettingsManager
      x-validator-class: com.dmsuite.web.validators.ApplicationSettingsValidator
      x-audit-action-type: EDIT
      x-audit-target: APPLICATION_SETTING
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /application-settings/{setting_group}/{setting_name}: {}
  /async-tasks:
    get:
      tags:
        - asyncTask
      summary: Get all asyncTasks
      operationId: getAllAsyncTasks
      parameters:
        - name: operation
          in: query
          description: The operation type for which to get async tasks.
          schema:
            type: string
            enum:
              - ALGORITHM_CREATE
              - ALGORITHM_MIGRATE
              - ALGORITHM_UPDATE
              - EXPORT
              - IMPORT
              - RULESET_REFRESH
              - SUPPORT_BUNDLE_GENERATE
              - TABLE_BULK_UPDATE
        - name: status
          in: query
          description: The status type for which to get async tasks.
          schema:
            type: string
            enum:
              - CANCELLED
              - FAILED
              - RUNNING
              - SUCCEEDED
              - WAITING
        - name: page_number
          in: query
          description: >-
            The page number for which to get asyncTasks. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAsyncTasksController
      x-contentType: application/json
      x-accepts: application/json
  /async-tasks/{asyncTaskId}:
    get:
      tags:
        - asyncTask
      summary: Get asyncTask by ID
      operationId: getAsyncTask
      parameters:
        - name: asyncTaskId
          in: path
          description: The ID of the asyncTask to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAsyncTasksController
      x-contentType: application/json
      x-accepts: application/json
  /async-tasks/{asyncTaskId}/cancel:
    put:
      tags:
        - asyncTask
      summary: Cancel asyncTask by ID
      operationId: cancelAsyncTask
      parameters:
        - name: asyncTaskId
          in: path
          description: The ID of the asyncTask to cancel
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerAsyncTasksController
      x-contentType: application/json
      x-accepts: application/json
  /async-tasks/search: {}
  /audit-logs:
    get:
      tags:
        - logging
      summary: Get all audit logs
      operationId: getAuditLogs
      parameters:
        - name: user_name
          in: query
          description: The name of the user that took the action for this entry.
          schema:
            maxLength: 1000
            type: string
        - name: action_type
          in: query
          description: The type of action that occurred for this Audit Log entry.
          schema:
            type: string
            enum:
              - CANCEL
              - CREATE
              - CONFIG_INSTALL
              - CONNECT
              - DELETE
              - DISCONNECT
              - EDIT
              - EXPORT
              - FORGOT_PASSWORD
              - GET
              - GET_ALL
              - IMPORT
              - LOCK
              - DISABLE
              - LOGIN
              - LOGOUT
              - RESET_PASSWORD
              - RUN
              - TEST
              - UNLOCK
        - name: target
          in: query
          description: >-
            The type object or operation that the action occurred on for this
            Audit Log entry.
          schema:
            type: string
            enum:
              - ALGORITHM
              - ANALYTIC
              - APPLICATION
              - APPLICATION_LOG
              - APPLICATION_SETTING
              - ASYNC_TASK
              - AUDIT_LOG
              - BILLING_PERIOD
              - BILLING_REPORT
              - BILLING_USAGE
              - CLASSIFIER
              - COLUMN_METADATA
              - CREDENTIAL_PATH
              - DATABASE_CONNECTOR
              - DATABASE_RULESET
              - DATABASE_USAGE
              - DEBUG_BREAKPOINT
              - DOMAIN
              - ENCRYPTION_KEY
              - ENVIRONMENT
              - EXECUTION
              - EXECUTION_COMPONENT_LOG
              - EXECUTION_EVENT
              - EXECUTION_LOG
              - EXECUTION_REPORT
              - FILE_CONNECTOR
              - FILE_DOWNLOAD
              - FILE_FIELD_METADATA
              - FILE_FORMAT
              - FILE_METADATA
              - FILE_RULESET
              - FILE_UPLOAD
              - INSTALLATION
              - INVENTORY_APPROVAL
              - JDBC_DRIVER
              - JOB_TASK
              - JOB_UTILIZATION_REPORT
              - KNOWLEDGE_BASE_INFO
              - LDAP
              - LICENSE
              - MAINFRAME_DATASET_CONNECTOR
              - MAINFRAME_DATASET_FIELD_METADATA
              - MAINFRAME_DATASET_FORMAT
              - MAINFRAME_DATASET_METADATA
              - MAINFRAME_DATASET_RECORD_TYPE
              - MAINFRAME_DATASET_RULESET
              - MASKING_JOB
              - MONITOR_JOBS_INFORMATION
              - MONITOR_TASK
              - MOUNT_FILESYSTEM
              - NON_CONFORMING_DATA_SAMPLE
              - OAUTH2
              - PASSWORD_VAULT
              - PLUGIN
              - PROFILE_EXPRESSION
              - PROFILE_TYPE_EXPRESSION
              - PROFILE_JOB
              - PROFILE_RESULT
              - PROFILE_SET
              - RECORD_TYPE
              - RECORD_TYPE_QUALIFIER
              - REIDENTIFICATION_JOB
              - ROLE
              - SSH_KEY
              - SSO
              - SUPPORT_BUNDLE
              - SYNCABLE_OBJECT
              - SYSTEM_INFORMATION
              - TABLE_METADATA
              - TASK
              - TOKENIZATION_JOB
              - UNIFIED_AUTH
              - USER
        - name: status
          in: query
          description: >-
            The status of the action that occurred for this Audit Log entry.
            This can change over time as ATTEMPTED actions are completed.
          schema:
            type: string
            enum:
              - ATTEMPTED
              - FAILED
              - SUCCEEDED
        - name: start_time
          in: query
          description: >-
            The date after which all audit logs should be retrieved. Note that
            the format of the string should be the same date-time format as in
            the response bodies.
          schema:
            type: string
        - name: end_time
          in: query
          description: >-
            The date before which all audit logs should be retrieved. Note that
            the format of the string should be the same date-time format as in
            the response bodies.
          schema:
            type: string
        - name: search_string
          in: query
          description: Search for activity description containing substring.
          schema:
            type: string
        - name: sort_by
          in: query
          description: Sort by field.
          schema:
            type: string
            enum:
              - activityTime
              - userName
              - status
              - activityDescription
              - identity
        - name: sort_dir
          in: query
          description: Sort by direction.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: page_number
          in: query
          description: >-
            The page number for which to get logs. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditLogList'
        '401':
          description: Unauthorized access
      x-swagger-router-controller: GenAuditLogsController
      x-converter-class: com.dmsuite.web.swagger.converter.AuditLogConverter
      x-operator-class: com.dmsuite.manager.UserActionManager
      x-validator-class: com.dmsuite.web.validators.AuditLogValidator
      x-audit-ignored: true
      x-contentType: application/json
      x-accepts: application/json
  /audit-logs-export: {}
  /audit-logs/search: {}
  /billing-period: {}
  /billing-report: {}
  /billing-usage:
    get:
      tags:
        - billingUsage
      summary: Get all billing usage
      operationId: getAllBillingUsage
      parameters:
        - name: start_date
          in: query
          description: >-
            The date after which all billing usage should be retrieved. Date
            format is 'yyyy-MM-dd'.
          required: true
          schema:
            type: string
        - name: end_date
          in: query
          description: >-
            The date before which all billing usage should be retrieved. Date
            format is 'yyyy-MM-dd'.
          required: true
          schema:
            type: string
        - name: page_number
          in: query
          description: >-
            The page number for which to billing usage. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingUsageList'
        '401':
          description: Unauthorized access
      x-swagger-router-controller: GenBillingUsageController
      x-converter-class: com.dmsuite.web.swagger.converter.BillingUsageConverter
      x-operator-class: com.dmsuite.manager.BillingUsageManager
      x-validator-class: com.dmsuite.web.validators.BillingUsageValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: BILLING_USAGE
  /breakpoint-instances: {}
  /breakpoint-instances/{uuid}/await: {}
  /breakpoint-instances/{uuid}/play: {}
  /breakpoint-start-data: {}
  /breakpoint-start-data/{breakpointType}: {}
  /callback-subscription: {}
  /classifiers:
    get:
      tags:
        - classifier
      summary: Get all classifiers
      operationId: getAllClassifiers
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get classifiers. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassifierList'
        '400':
          description: Bad request
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - classifier
      summary: Create classifier
      operationId: createClassifier
      requestBody:
        description: The classifier to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Classifier'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Classifier'
        '400':
          description: Bad request
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /classifiers/{classifierId}:
    get:
      tags:
        - classifier
      summary: Get classifier by ID
      operationId: getClassifierById
      parameters:
        - name: classifierId
          in: path
          description: The ID of the classifier to get
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Classifier'
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-audit-action-type: GET
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - classifier
      summary: Update classifier by ID
      operationId: updateClassifier
      parameters:
        - name: classifierId
          in: path
          description: The ID of the classifier to update
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        description: The classifier
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Classifier'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Classifier'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-audit-action-type: EDIT
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - classifier
      summary: Delete classifier by ID
      operationId: deleteClassifier
      parameters:
        - name: classifierId
          in: path
          description: The ID of the classifier to delete
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-audit-action-type: DELETE
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
  /classifiers/{classifierId}/copy:
    post:
      tags:
        - classifier
      summary: Copy classifier by ID
      operationId: copyClassifier
      parameters:
        - name: classifierId
          in: path
          description: The ID of the classifier to copy
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        description: The name of the classifier to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassifierCopy'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Classifier'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-audit-action-type: CREATE
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /classifiers/{classifierId}/export-files:
    post:
      tags:
        - classifier
      summary: Export a zip file containing the files used for the specified classifier
      operationId: exportClassifierFiles
      parameters:
        - name: classifierId
          in: path
          description: The ID of the classifier
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-audit-action-type: EXPORT
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
  /classifiers/frameworks:
    get:
      tags:
        - classifier
      summary: Get all classifier frameworks
      operationId: getAllClassifierFrameworks
      parameters:
        - name: include_schema
          in: query
          description: >-
            Whether to include each classifier framework's JSON schema in the
            response.
          schema:
            type: boolean
            default: false
        - name: page_number
          in: query
          description: >-
            The page number for which to get classifier frameworks. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassifierFrameworkList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierFrameworkConverter
      x-operator-class: com.dmsuite.manager.ClassifierFrameworkManager
      x-validator-class: com.dmsuite.web.validators.ClassifierFrameworkValidator
      x-manager-needs-user: true
      x-audit-ignore-return: true
      x-audit-action-type: GET_ALL
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
  /classifiers/frameworks/{frameworkId}:
    get:
      tags:
        - classifier
      summary: Get classifier framework by frameworkId
      operationId: getClassifierFramework
      parameters:
        - name: frameworkId
          in: path
          description: The id of the framework
          required: true
          schema:
            type: integer
            format: int64
        - name: include_schema
          in: query
          description: >-
            Whether to include each classifier framework's JSON schema in the
            response.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassifierFramework'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierFrameworkConverter
      x-operator-class: com.dmsuite.manager.ClassifierFrameworkManager
      x-validator-class: com.dmsuite.web.validators.ClassifierFrameworkValidator
      x-manager-needs-user: true
      x-audit-action-type: GET
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
  /classifiers/search:
    post:
      tags:
        - classifier
      summary: Search classifiers
      operationId: searchClassifiers
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get classifiers. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: sort
          in: query
          description: >-
            The field to sort results by. A property name with a prepended '-'
            signifies a descending order.
          schema:
            type: string
            enum:
              - classifierId
              - '-classifierId'
              - classifierName
              - '-classifierName'
              - frameworkId
              - '-frameworkId'
              - createdDate
              - '-createdDate'
              - domainName
              - '-domainName'
              - description
              - '-description'
      requestBody:
        description: >-
          A request body containing a filter expression. Refer to the
          documentation to learn the syntax for filter-queries.
           Supported filterable attributes: "classifierId", "classifierName", "frameworkId", "createdDate", "domainName", "description"
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Filter'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassifierList'
        '400':
          description: Bad request
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerClassifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.ClassifierConverter
      x-operator-class: com.dmsuite.manager.ClassifierManager
      x-validator-class: com.dmsuite.web.validators.ClassifierValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-target: CLASSIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: filter
  /classifiers/bulk-delete: {}
  /column-metadata:
    get:
      tags:
        - columnMetadata
      summary: Get all column metadata
      operationId: getAllColumnMetadata
      parameters:
        - name: table_metadata_id
          in: query
          description: The ID of the table metadata to get all column metadata from
          schema:
            type: integer
            format: int32
        - name: is_masked
          in: query
          description: >-
            Get only masked column metadata when this is true and only unmasked
            column metadata when this is false
          schema:
            type: boolean
        - name: page_number
          in: query
          description: >-
            The page number for which to get column metadata. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnMetadataList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenColumnMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.ColumnMetadataConverter
      x-operator-class: com.dmsuite.manager.ColumnMetadataManager
      x-validator-class: com.dmsuite.web.validators.ColumnMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: COLUMN_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /column-metadata-detail/search: {}
  /column-metadata/{columnMetadataId}:
    get:
      tags:
        - columnMetadata
      summary: Get column metadata by ID
      operationId: getColumnMetadataById
      parameters:
        - name: columnMetadataId
          in: path
          description: The ID of the column metadata to get
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnMetadata'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenColumnMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.ColumnMetadataConverter
      x-operator-class: com.dmsuite.manager.ColumnMetadataManager
      x-validator-class: com.dmsuite.web.validators.ColumnMetadataValidator
      x-audit-action-type: GET
      x-audit-target: COLUMN_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - columnMetadata
      summary: Update column metadata by ID
      operationId: updateColumnMetadata
      parameters:
        - name: columnMetadataId
          in: path
          description: The ID of the column metadata to update
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        description: The updated column metadata
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColumnMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColumnMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenColumnMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.ColumnMetadataConverter
      x-operator-class: com.dmsuite.manager.ColumnMetadataManager
      x-validator-class: com.dmsuite.web.validators.ColumnMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: COLUMN_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /credential-paths:
    get:
      tags:
        - credentialPath
      summary: Get all credential paths
      operationId: getAllCredentialPaths
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get credential paths. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialPathList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenCredentialPathsController
      x-converter-class: com.dmsuite.web.swagger.converter.CredentialPathConverter
      x-operator-class: com.dmsuite.manager.CredentialPathManager
      x-validator-class: com.dmsuite.web.validators.CredentialPathValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: CREDENTIAL_PATH
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - credentialPath
      summary: Create credential path
      operationId: createCredentialPath
      requestBody:
        description: The credential path to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialPath'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialPath'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenCredentialPathsController
      x-converter-class: com.dmsuite.web.swagger.converter.CredentialPathConverter
      x-operator-class: com.dmsuite.manager.CredentialPathManager
      x-validator-class: com.dmsuite.web.validators.CredentialPathValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: CREDENTIAL_PATH
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /configuration-install:
    post:
      tags:
        - configuration
      summary: Install a configuration, like a profile set configuration zip
      operationId: installConfig
      requestBody:
        description: The configuration to install
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigurationInstall'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigurationInstall'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '409':
          description: Conflict
      x-swagger-router-controller: GenConfigurationInstallController
      x-converter-class: com.dmsuite.web.swagger.converter.ConfigurationInstallConverter
      x-operator-class: com.dmsuite.manager.ConfigurationInstallManager
      x-validator-class: com.dmsuite.web.validators.ConfigurationInstallValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: INSTALLATION
  /credential-paths/{credentialPathId}:
    get:
      tags:
        - credentialPath
      summary: Get credential path by ID
      operationId: getCredentialPath
      parameters:
        - name: credentialPathId
          in: path
          description: The ID of the credential path to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialPath'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenCredentialPathsController
      x-converter-class: com.dmsuite.web.swagger.converter.CredentialPathConverter
      x-operator-class: com.dmsuite.manager.CredentialPathManager
      x-validator-class: com.dmsuite.web.validators.CredentialPathValidator
      x-audit-action-type: GET
      x-audit-target: CREDENTIAL_PATH
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - credentialPath
      summary: Update credential path by ID
      operationId: updateCredentialPath
      parameters:
        - name: credentialPathId
          in: path
          description: The ID of the credential path to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated credential path
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialPath'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialPath'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenCredentialPathsController
      x-converter-class: com.dmsuite.web.swagger.converter.CredentialPathConverter
      x-operator-class: com.dmsuite.manager.CredentialPathManager
      x-validator-class: com.dmsuite.web.validators.CredentialPathValidator
      x-audit-action-type: EDIT
      x-audit-target: CREDENTIAL_PATH
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - credentialPath
      summary: Delete credential path by ID
      operationId: deleteCredentialPath
      parameters:
        - name: credentialPathId
          in: path
          description: The ID of the credential path to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenCredentialPathsController
      x-converter-class: com.dmsuite.web.swagger.converter.CredentialPathConverter
      x-operator-class: com.dmsuite.manager.CredentialPathManager
      x-validator-class: com.dmsuite.web.validators.CredentialPathValidator
      x-audit-action-type: DELETE
      x-audit-getter: getCredentialPath
      x-audit-target: CREDENTIAL_PATH
      x-contentType: application/json
      x-accepts: application/json
  /database-connectors:
    get:
      tags:
        - databaseConnector
      summary: Get all database connectors
      operationId: getAllDatabaseConnectors
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get database connectors. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all database connectors from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectorList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - databaseConnector
      summary: Create database connector
      operationId: createDatabaseConnector
      requestBody:
        description: The database connector to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseConnector'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: CREATE
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-connectors/{databaseConnectorId}:
    get:
      tags:
        - databaseConnector
      summary: Get database connector by ID
      operationId: getDatabaseConnectorById
      parameters:
        - name: databaseConnectorId
          in: path
          description: The ID of the database connector to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: GET
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - databaseConnector
      summary: Update database connector by ID
      operationId: updateDatabaseConnector
      parameters:
        - name: databaseConnectorId
          in: path
          description: The ID of the database connector to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated database connector
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseConnector'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: EDIT
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - databaseConnector
      summary: Delete database connector by ID
      description: >-
        Deletes database connector with given ID. This will also delete all rule
        sets and jobs which are using this connector.
      operationId: deleteDatabaseConnector
      parameters:
        - name: databaseConnectorId
          in: path
          description: The ID of the database connector to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-manager-needs-user: true
      x-manager-needs-request-ip: true
      x-audit-action-type: DELETE
      x-audit-getter: getDatabaseConnectorById
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /database-connectors/{databaseConnectorId}/copy: {}
  /database-connectors/{databaseConnectorId}/fetch:
    get:
      tags:
        - databaseConnector
      summary: Fetch all accessible table names
      description: >-
        Note that only the names of tables that are accessible by the database
        user will be returned
      operationId: fetchTableMetadata
      parameters:
        - name: databaseConnectorId
          in: path
          description: The ID of the database connector to fetch the tables for
          required: true
          schema:
            type: integer
            format: int32
        - name: hideExisting
          in: query
          description: >-
            This flag specifies fetching only table names that are not already
            part of a particular ruleset.
          required: false
          schema:
            type: boolean
        - name: rulesetId
          in: query
          description: >-
            Ruleset ID to check if tables is already added. Required in case of
            hideExisting is set to true.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /database-connectors/{databaseConnectorId}/properties:
    get:
      tags:
        - databaseConnector
      summary: Get supported connection properties for database connector by ID
      description: >-
        A list of connection properties supported by the database connector's
        underlying JDBC driver.
      operationId: getConnectionProperties
      parameters:
        - name: databaseConnectorId
          in: path
          description: >-
            The ID of the database connector to retrieve supported connection
            properties
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionPropertiesList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /database-connectors/{databaseConnectorId}/test:
    post:
      tags:
        - databaseConnector
      summary: Test database connector by ID
      description: Test if a database connector is valid.
      operationId: testDatabaseConnector
      parameters:
        - name: databaseConnectorId
          in: path
          description: The ID of the database connector to test
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The database connector configuration to test. This field is optional.
          If null or empty, the existing databaseConnectorId will be tested. If
          a connector configuration is supplied without a password, then the
          password associated with the databaseConnectorId will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseConnector'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-connectors/test:
    post:
      tags:
        - databaseConnector
      summary: Test an unsaved database connector
      operationId: testUnsavedDatabaseConnector
      requestBody:
        description: The database connector to test
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseConnector'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenDatabaseConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseConnectorConverter
      x-operator-class: com.dmsuite.manager.DatabaseConnectorManager
      x-validator-class: com.dmsuite.web.validators.DatabaseConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: DATABASE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-connectors/{environmentId}/search: {}
  /database-rulesets:
    get:
      tags:
        - databaseRuleset
      summary: Get all database rulesets
      operationId: getAllDatabaseRulesets
      parameters:
        - name: environment_id
          in: query
          description: The ID of the environment to get all database rulesets from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get database rulesets. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRulesetList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - databaseRuleset
      summary: Create database ruleset
      operationId: createDatabaseRuleset
      requestBody:
        description: The database ruleset to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseRuleset'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-rulesets/{databaseRulesetId}:
    get:
      tags:
        - databaseRuleset
      summary: Get database ruleset by ID
      operationId: getDatabaseRulesetById
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - databaseRuleset
      summary: Update database ruleset
      operationId: updateDatabaseRuleset
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated form of the database ruleset
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseRuleset'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - databaseRuleset
      summary: Delete database ruleset by ID
      operationId: deleteDatabaseRuleset
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
  /database-rulesets/{databaseRulesetId}/bulk-table-update:
    put:
      tags:
        - databaseRuleset
      summary: >-
        Update the set of tables and their attributes associated with a database
        ruleset in bulk
      operationId: bulkTableUpdate
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to update the tables for
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The exact list of tables to put in the ruleset. Note that existing
          tables for this ruleset not in this list will be deleted
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableMetadataBulkInput'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-rulesets/{databaseRulesetId}/bulk-table-delta-update: {}
  /database-rulesets/{databaseRulesetId}/refresh:
    put:
      tags:
        - databaseRuleset
      summary: Refresh database ruleset by ID
      operationId: refreshDatabaseRuleset
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to refresh
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
  /database-rulesets/{databaseRulesetId}/copy:
    put:
      tags:
        - databaseRuleset
      summary: Copy database ruleset by ID
      operationId: copyDatabaseRuleset
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to copy
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the ruleset. This must be unique within an environment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseRulesetCopy'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /database-rulesets/{databaseRulesetId}/csvExport:
    post:
      tags:
        - databaseRuleset
      summary: Export database Ruleset inventory by ID
      operationId: csvDatabaseExport
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to import
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the exported file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatabaseRulesetCSVExport'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRulesetCSVExport'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-audit-action-type: EXPORT
      x-audit-target: DATABASE_RULESET
  /database-rulesets/{databaseRulesetId}/csvImport:
    put:
      tags:
        - databaseRuleset
      summary: Import Ruleset inventory from CSV file
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: csvDatabaseImport
      parameters:
        - name: databaseRulesetId
          in: path
          description: The ID of the database ruleset to import
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the ruleset. This must be unique within an environment.
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadBody'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseRulesetCSVImport'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerDatabaseRulesetsController
      x-contentType: multipart/form-data
      x-accepts: application/json
      x-audit-action-type: IMPORT
      x-audit-target: DATABASE_RULESET
  /database-usage:
    get:
      tags:
        - billingUsage
      summary: Get all database usages recorded in Masking engine
      operationId: getAllDatabaseUsage
      parameters:
        - name: start_date
          in: query
          description: >-
            The date after which database usage should be retrieved. Date format
            is 'yyyy-MM-dd'.
          schema:
            type: string
        - name: end_date
          in: query
          description: >-
            The date before which database usage should be retrieved. Date
            format is 'yyyy-MM-dd'.
          schema:
            type: string
        - name: database_name
          in: query
          description: Name of the database for which usage should be retrieved.
          schema:
            type: string
        - name: page_number
          in: query
          description: >-
            The page number for which to fetch database usage. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseUsageList'
        '401':
          description: Unauthorized access
      x-swagger-router-controller: GenDatabaseUsageController
      x-converter-class: com.dmsuite.web.swagger.converter.DatabaseUsageConverter
      x-operator-class: com.dmsuite.manager.DatabaseUsageManager
      x-validator-class: com.dmsuite.web.validators.DatabaseUsageValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: DATABASE_USAGE
  /domains:
    get:
      tags:
        - domain
      summary: Get all domains
      operationId: getAllDomains
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get domains. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainList'
        '400':
          description: Bad request
      x-swagger-router-controller: GenDomainsController
      x-converter-class: com.dmsuite.web.swagger.converter.DomainConverter
      x-operator-class: com.dmsuite.manager.DomainManager
      x-validator-class: com.dmsuite.web.validators.DomainValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: DOMAIN
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - domain
      summary: Create domain
      operationId: createDomain
      requestBody:
        description: The domain to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Domain'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          description: Bad request
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenDomainsController
      x-converter-class: com.dmsuite.web.swagger.converter.DomainConverter
      x-operator-class: com.dmsuite.manager.DomainManager
      x-validator-class: com.dmsuite.web.validators.DomainValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: DOMAIN
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /domains/{domainName}:
    get:
      tags:
        - domain
      summary: Get domain by name
      operationId: getDomain
      parameters:
        - name: domainName
          in: path
          description: The name of the domain to get
          required: true
          schema:
            type: string
      responses:
        '400':
          description: Bad request
        '404':
          description: Not found
        '409':
          description: Conflict
        default:
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
      x-swagger-router-controller: GenDomainsController
      x-converter-class: com.dmsuite.web.swagger.converter.DomainConverter
      x-operator-class: com.dmsuite.manager.DomainManager
      x-validator-class: com.dmsuite.web.validators.DomainValidator
      x-audit-action-type: GET
      x-audit-target: DOMAIN
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - domain
      summary: Update domain by name
      operationId: updateDomain
      parameters:
        - name: domainName
          in: path
          description: The name of the domain to update
          required: true
          schema:
            type: string
      requestBody:
        description: The updated domain
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Domain'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          description: Bad request
        '404':
          description: Not found
      x-swagger-router-controller: GenDomainsController
      x-converter-class: com.dmsuite.web.swagger.converter.DomainConverter
      x-operator-class: com.dmsuite.manager.DomainManager
      x-validator-class: com.dmsuite.web.validators.DomainValidator
      x-audit-action-type: EDIT
      x-audit-target: DOMAIN
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - domain
      summary: Delete domain by name
      operationId: deleteDomain
      parameters:
        - name: domainName
          in: path
          description: The name of the domain to delete
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '404':
          description: Not found
      x-swagger-router-controller: GenDomainsController
      x-converter-class: com.dmsuite.web.swagger.converter.DomainConverter
      x-operator-class: com.dmsuite.manager.DomainManager
      x-validator-class: com.dmsuite.web.validators.DomainValidator
      x-audit-action-type: DELETE
      x-audit-getter: getDomain
      x-audit-target: DOMAIN
      x-contentType: application/json
      x-accepts: application/json
  /domains/search: {}
  /domains/bulk-delete: {}
  /encryptionKey:
    put:
      tags:
        - encryptionKey
      summary: Generate a new encryption key for the masking engine
      operationId: generateEncryptionKey
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerEncryptionKeyController
      x-contentType: application/json
      x-accepts: application/json
  /environments:
    get:
      tags:
        - environment
      summary: Get all environments
      operationId: getAllEnvironments
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get environments. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: application_id
          in: query
          description: The ID of the application to get all environments from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - environment
      summary: Create environment
      operationId: createEnvironment
      requestBody:
        description: The environment to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Environment'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /environments/{environmentId}:
    get:
      tags:
        - environment
      summary: Get environment by ID
      operationId: getEnvironmentById
      parameters:
        - name: environmentId
          in: path
          description: The ID of the environment to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-audit-action-type: GET
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - environment
      summary: Update environment by ID
      operationId: updateEnvironment
      parameters:
        - name: environmentId
          in: path
          description: The ID of the environment to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated environment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Environment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-audit-action-type: EDIT
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - environment
      summary: Delete environment by ID
      operationId: deleteEnvironment
      parameters:
        - name: environmentId
          in: path
          description: The ID of the environment to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-audit-action-type: DELETE
      x-audit-getter: getEnvironmentById
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
      x-manager-needs-user: true
      x-manager-needs-request-ip: true
  /environments/{environmentId}/copy:
    post:
      tags:
        - environment
      summary: Copy environment by ID
      operationId: copyEnvironment
      parameters:
        - name: environmentId
          in: path
          description: The ID of the environment to copy
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The environment to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Environment'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Environment'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenEnvironmentsController
      x-converter-class: com.dmsuite.web.swagger.converter.EnvironmentConverter
      x-operator-class: com.dmsuite.manager.EnvironmentManager
      x-validator-class: com.dmsuite.web.validators.EnvironmentValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /environments/search: {}
  /executions:
    get:
      tags:
        - execution
      summary: Get all executions
      operationId: getAllExecutions
      parameters:
        - name: job_id
          in: query
          description: The ID of the job to get all executions for
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get executions. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: execution_status
          in: query
          description: >-
            The status of the job execution. Note that, if this parameter is
            excluded, then all executions will be returned..
          schema:
            type: string
            enum:
              - CANCELLED
              - FAILED
              - QUEUED
              - RUNNING
              - SUCCEEDED
              - WAITING
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExecutionsController
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - execution
      summary: Create execution
      operationId: createExecution
      requestBody:
        description: The execution to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Execution'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      callbacks:
        onNotification:
          /notifications-callback:
            post:
              requestBody:
                description: Notification Payload
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/CallbackPayload'
              responses:
                '202':
                  description: Data was received successfully
                '204':
                  description: Backend no longer interested in further updates
              summary: Callback on Notification post /notifications callback
      x-notification-callback: true
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExecutionsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /executions-detail/search: {}
  /executions/{executionId}:
    get:
      tags:
        - execution
      summary: Get execution by ID
      operationId: getExecutionById
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExecutionsController
      x-contentType: application/json
      x-accepts: application/json
  /executions/{executionId}/cancel:
    post:
      tags:
        - execution
      summary: Cancel execution by ID
      operationId: cancelExecution
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution to cancel
          required: true
          schema:
            type: integer
            format: int32
        - name: expectedStatus
          in: query
          description: >-
            The expected status of the execution to cancel to prevent cancelling
            a queued job that has transitioned to a running state since the
            request was issued.
          schema:
            type: string
            enum:
              - QUEUED
              - RUNNING
        - name: graceful
          in: query
          description: >-
            A cancellation strategy to re-enable SQL objects that were disabled
            earlier in the execution before terminating.
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExecutionsController
      x-contentType: application/json
      x-accepts: application/json
  /executions/search:
    post:
      tags:
        - execution
      summary: Search executions
      operationId: searchExecutions
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get executions. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: execution_sort
          in: query
          description: >-
            The field to sort results by. A property name with a prepended '-'
            signifies a descending order.
          schema:
            type: string
            enum:
              - environmentId
              - '-environmentId'
              - executionId
              - '-executionId'
              - jobId
              - '-jobId'
      requestBody:
        description: >-
          A request body containing a filter expression. Refer to the
          documentation to learn the syntax for filter-queries.
           Supported filterable attributes: "environmentId", "executionId", "jobId"
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Filter'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExecutionsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
      x-swagger-hibernate-converter-ignore: true
  /execution-components:
    get:
      tags:
        - executionComponent
      summary: Get all execution components
      operationId: getAllExecutionComponents
      parameters:
        - name: execution_id
          in: query
          description: The ID of the execution to get all components for
          schema:
            type: integer
            format: int32
        - name: status
          in: query
          description: The list of statuses that need to be filtered
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - SUCCEEDED
                - WARNING
                - FAILED
                - CANCELLED
                - RUNNING
                - WAITING
        - name: sort_by
          in: query
          description: Sort by field.
          schema:
            type: string
            enum:
              - componentName
              - executionComponentId
              - status
        - name: sort_dir
          in: query
          description: Sort direction.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: page_number
          in: query
          description: >-
            The page number for which to get executions. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionComponentList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenExecutionComponentsController
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionComponentConverter
      x-operator-class: com.dmsuite.manager.TransLevelInfoManager
      x-validator-class: com.dmsuite.web.validators.ExecutionComponentValidator
      x-manager-needs-user: true
      x-audit-ignored: true
      x-contentType: application/json
      x-accepts: application/json
  /execution-components/search: {}
  /execution-component-log:
    get:
      tags:
        - logging
      summary: Get all execution components logs
      operationId: getAllExecutionComponentsLogs
      parameters:
        - name: execution_id
          in: query
          description: The ID of the Execution to get all component logs
          required: true
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get executions component. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionComponentLogsList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenExecutionComponentLogController
      x-validator-class: com.dmsuite.web.validators.ExecutionComponentLogsValidator
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionComponentLogsConverter
      x-operator-class: com.dmsuite.manager.TransLevelInfoManager
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: EXECUTION_COMPONENT_LOG
      x-contentType: application/json
      x-accepts: application/json
  /execution-component-log/{componentId}:
    get:
      tags:
        - logging
      summary: Get execution component log by component ID
      operationId: getExecutionComponentById
      parameters:
        - name: componentId
          in: path
          description: The ID of the execution to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionComponentLog'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenExecutionComponentLogController
      x-validator-class: com.dmsuite.web.validators.ExecutionComponentLogsValidator
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionComponentLogsConverter
      x-operator-class: com.dmsuite.manager.TransLevelInfoManager
      x-manager-needs-user: true
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: EXECUTION_COMPONENT_LOG
      x-contentType: application/json
      x-accepts: application/json
  /execution-events:
    get:
      tags:
        - executionEvent
      summary: Get all execution events
      description: Get events, such as warnings or errors, associated with job executions.
      operationId: getAllExecutionEvents
      parameters:
        - name: execution_id
          in: query
          description: The ID of the execution to get all events for
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get execution events. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionEventList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenExecutionEventsController
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionEventConverter
      x-operator-class: com.dmsuite.manager.ExecutionEventManager
      x-validator-class: com.dmsuite.web.validators.ExecutionEventValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: EXECUTION_EVENT
      x-contentType: application/json
      x-accepts: application/json
  /execution-logs:
    get:
      tags:
        - logging
      summary: Get all execution logs
      operationId: getAllExecutionLogs
      parameters:
        - name: job_id
          in: query
          description: The ID of the job to get all executions for
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get executions. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: execution_status
          in: query
          description: >-
            The status of the job execution. Note that, if this parameter is
            excluded, then all executions will be returned.
          schema:
            type: string
            enum:
              - CANCELLED
              - FAILED
              - QUEUED
              - RUNNING
              - SUCCEEDED
              - WAITING
              - WARNING
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionLogsList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenExecutionLogsController
      x-validator-class: com.dmsuite.web.validators.ExecutionLogsValidator
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionLogsConverter
      x-operator-class: com.dmsuite.manager.ExecutionLogsManager
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: EXECUTION_LOG
      x-contentType: application/json
      x-accepts: application/json
  /execution-logs/{executionId}:
    get:
      tags:
        - logging
      summary: Get all execution log by ID
      operationId: getExecutionLogsById
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionLog'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenExecutionLogsController
      x-validator-class: com.dmsuite.web.validators.ExecutionLogsValidator
      x-converter-class: com.dmsuite.web.swagger.converter.ExecutionLogsConverter
      x-operator-class: com.dmsuite.manager.ExecutionLogsManager
      x-manager-needs-user: true
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: EXECUTION_LOG
      x-contentType: application/json
      x-accepts: application/json
  /execution-report: {}
  /execution-summary/{executionId}: {}
  /export:
    post:
      tags:
        - sync
      summary: Export masking object
      description: Export masking objects
      operationId: export
      requestBody:
        description: The identifier for the masking object to export
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ExportObjectMetadata'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportObject'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExportController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /export-async:
    post:
      tags:
        - sync
      summary: Export masking object
      description: Export masking objects
      operationId: asyncExport
      parameters:
        - name: structure
          in: query
          description: The structure of the resulting export bundle.
          schema:
            type: string
            enum:
              - ZIP
              - BLOB
      requestBody:
        description: The identifier for the masking object to export
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ExportObjectMetadata'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExportController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - sync
      summary: Delete all export documents from /async-export tasks
      operationId: purgeExportDirectory
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerExportController
      x-contentType: application/json
      x-accepts: application/json
  /feature-flags: {}
  /file-connectors:
    get:
      tags:
        - fileConnector
      summary: Get all file connectors
      operationId: getAllFileConnectors
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get file connectors. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all file connectors from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileConnectorList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileConnector
      summary: Create file connector
      operationId: createFileConnector
      requestBody:
        description: The file connector to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileConnector'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: CREATE
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-connectors/{fileConnectorId}:
    get:
      tags:
        - fileConnector
      summary: Get file connector by ID
      operationId: getFileConnectorById
      parameters:
        - name: fileConnectorId
          in: path
          description: The ID of the file connector to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: GET
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - fileConnector
      summary: Update file connector by ID
      operationId: updateFileConnector
      parameters:
        - name: fileConnectorId
          in: path
          description: The ID of the file connector to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated file connector
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileConnector'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileConnector'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: EDIT
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - fileConnector
      summary: Delete file connector by ID
      description: >-
        Deletes file connector with given ID. This will also delete all rule
        sets and jobs which are using this connector.
      operationId: deleteFileConnector
      parameters:
        - name: fileConnectorId
          in: path
          description: The ID of the file connector to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-manager-needs-user: true
      x-manager-needs-request-ip: true
      x-audit-action-type: DELETE
      x-audit-getter: getFileConnectorById
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /file-connectors/{fileConnectorId}/fetch:
    get:
      tags:
        - fileConnector
      summary: Fetch all accessible file names
      description: >-
        Note that even the names of files in the directory path that are not
        readable or writable will be returned
      operationId: fetchFileMetadata
      parameters:
        - name: fileConnectorId
          in: path
          description: The ID of the file connector to fetch the files for
          required: true
          schema:
            type: integer
            format: int32
        - name: hideExisting
          in: query
          description: >-
            This flag specifies fetching only table names that are not already
            part of a particular ruleset.
          required: false
          schema:
            type: boolean
        - name: rulesetId
          in: query
          description: >-
            Ruleset ID to check if the file is already added. Required in case
            of hideExisting is set to true.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /file-connectors/{fileConnectorId}/test:
    post:
      tags:
        - fileConnector
      summary: Test file connector by ID
      description: >-
        WARNING: There is a known bug in the API Client where it is impossible
        to submit a request with an 'empty' body. As such, only the 'full' body
        variant of this endpoint can be used through the API Client. To use the
        'empty' body variant of this endpoint, please do not use the API Client,
        but instead use curl or some other method of issuing HTTP requests.
      operationId: testFileConnector
      parameters:
        - name: fileConnectorId
          in: path
          description: The ID of the file connector to test
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The file connector to test. This field is optional and if no password
          or sshkey is supplied with the connector then the password associated
          with the fileConnectorId will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileConnector'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-connectors/{environmentId}/search: {}
  /file-connectors/test:
    post:
      tags:
        - fileConnector
      summary: Test an unsaved file connector
      operationId: testUnsavedFileConnector
      requestBody:
        description: The file connector to test
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileConnector'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileConnectorConverter
      x-operator-class: com.dmsuite.manager.FileConnectorManager
      x-validator-class: com.dmsuite.web.validators.FileConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: FILE_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-downloads/{fileDownloadId}:
    get:
      tags:
        - fileDownload
      summary: Download file
      operationId: downloadFile
      parameters:
        - name: fileDownloadId
          in: path
          description: The file identifier returned from the GET call of the object
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                description: The file to download
                format: binary
            application/octet-stream:
              schema:
                type: string
                description: The file to download
                format: binary
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileDownloadsController
      x-response-is-file: true
  /file-field-metadata:
    get:
      tags:
        - fileFieldMetadata
      summary: Get all file field metadata
      operationId: getAllFileFieldMetadata
      parameters:
        - name: file_format_id
          in: query
          description: The ID of the file format to get all file field metadata from
          schema:
            type: integer
            format: int32
        - name: record_type_id
          in: query
          description: The ID of the record type to get all file field metadata from
          schema:
            type: integer
            format: int32
        - name: field_name
          in: query
          description: >-
            The name of the file field, as determined by the associated file
            format. A wildcard character '\*' can be used to represent zero or
            more characters. To match exact character '\*' or '\' in the
            fieldName, escape the character using '\' like '\\*' and '\\\\'
            respectively.
          schema:
            type: string
        - name: is_masked
          in: query
          description: >-
            Get only masked file field metadata when this is true and only
            unmasked file field metadata when this is false
          schema:
            type: boolean
        - name: page_number
          in: query
          description: >-
            The page number for which to get file field metadata. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFieldMetadataList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFieldConverter
      x-operator-class: com.dmsuite.manager.FileFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileFieldMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: FILE_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileFieldMetadata
      summary: Create file field metadata
      operationId: createFileFieldMetadata
      requestBody:
        description: The file filed metadata to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileFieldMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFieldMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenFileFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFieldConverter
      x-operator-class: com.dmsuite.manager.FileFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileFieldMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: FILE_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-field-metadata/{fileFieldMetadataId}:
    get:
      tags:
        - fileFieldMetadata
      summary: Get file field metadata by ID
      operationId: getFileFieldMetadataById
      parameters:
        - name: fileFieldMetadataId
          in: path
          description: The ID of the file field metadata to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFieldMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFieldConverter
      x-operator-class: com.dmsuite.manager.FileFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileFieldMetadataValidator
      x-audit-action-type: GET
      x-audit-target: FILE_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - fileFieldMetadata
      summary: Update file field metadata by ID
      operationId: updateFileFieldMetadata
      parameters:
        - name: fileFieldMetadataId
          in: path
          description: The ID of the file field metadata to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated file field metadata
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileFieldMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFieldMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFieldConverter
      x-operator-class: com.dmsuite.manager.FileFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileFieldMetadataValidator
      x-audit-action-type: EDIT
      x-audit-target: FILE_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - fileFieldMetadata
      summary: Delete file field metadata by ID
      operationId: deleteFileFieldMetadata
      parameters:
        - name: fileFieldMetadataId
          in: path
          description: The ID of the file field metadata to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFieldConverter
      x-operator-class: com.dmsuite.manager.FileFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileFieldMetadataValidator
      x-audit-action-type: DELETE
      x-audit-getter: getFileFieldMetadataById
      x-audit-target: FILE_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /file-field-metadata/search: {}
  /file-format-metadata/findByName: {}
  /file-format-metadata/search: {}
  /file-formats:
    get:
      tags:
        - fileFormat
      summary: Get all file formats
      operationId: getAllFileFormats
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get file formats. This will default to
            the first page if excluded
          required: false
          style: form
          explode: true
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          required: false
          style: form
          explode: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormatList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileFormat
      summary: Create file format
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: createFileFormat
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileFormatBody'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormat'
        '403':
          description: Forbidden access
        '409':
          description: Conflict
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: FILE_FORMAT
      x-contentType: multipart/form-data
      x-accepts: application/json
  /file-formats/{fileFormatId}:
    get:
      tags:
        - fileFormat
      summary: Get file format by ID
      operationId: getFileFormatById
      parameters:
        - name: fileFormatId
          in: path
          description: The ID of the file format to get
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormat'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-audit-action-type: GET
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - fileFormat
      summary: Update file format
      operationId: updateFileFormat
      parameters:
        - name: fileFormatId
          in: path
          description: The ID of the file format to update
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated file format
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileFormat'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormat'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - fileFormat
      summary: Delete file format by ID
      operationId: deleteFileFormat
      parameters:
        - name: fileFormatId
          in: path
          description: The ID of the file format to delete
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-audit-action-type: DELETE
      x-audit-getter: getFileFormatById
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
  /file-formats/{fileFormatId}/copy:
    put:
      tags:
        - fileFormat
      summary: Copy file format by ID
      operationId: copyFileFormat
      parameters:
        - name: fileFormatId
          in: path
          description: The ID of the file format to duplicate
          required: true
          style: simple
          explode: false
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name for the new file format copy
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileFormatCopy'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormat'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-manager-needs-user: true
      x-audit-ignore-return: true
      x-audit-action-type: CREATE
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
      x-swagger-hibernate-converter-ignore: true
  /file-formats/search: {}
  /file-formats/export:
    post:
      tags:
        - fileFormat
      summary: Export File Format using File Format ID
      description: >-
        Returns a fileDownloadId for the given fileFormatId and (optional)
        recordTypeId.
      operationId: exportFileFormat
      parameters:
        - name: fileFormatId
          in: query
          description: File format ID
          required: true
          schema:
            type: integer
            format: int32
        - name: recordTypeId
          in: query
          description: Record type ID
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileFormat'
        '400':
          description: Invalid request
        '404':
          description: File format not found
      x-swagger-router-controller: GenFileFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileFormatConverter
      x-operator-class: com.dmsuite.manager.FileFormatManager
      x-validator-class: com.dmsuite.web.validators.FileFormatValidator
      x-audit-action-type: GET
      x-audit-target: FILE_FORMAT
      x-contentType: application/json
      x-accepts: application/json
  /file-metadata:
    get:
      tags:
        - fileMetadata
      summary: Get all file metadata
      operationId: getAllFileMetadata
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get file metadata. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: ruleset_id
          in: query
          description: The ID of the ruleset to get all file metadata from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadataList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileMetadataConverter
      x-operator-class: com.dmsuite.manager.FileMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: FILE_METADATA
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileMetadata
      summary: Create file metadata
      operationId: createFileMetadata
      requestBody:
        description: The file metadata to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileMetadata'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenFileMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileMetadataConverter
      x-operator-class: com.dmsuite.manager.FileMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileMetadataValidator
      x-audit-action-type: CREATE
      x-audit-target: FILE_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-metadata/{fileMetadataId}:
    get:
      tags:
        - fileMetadata
      summary: Get file metadata by ID
      operationId: getFileMetadataById
      parameters:
        - name: fileMetadataId
          in: path
          description: The ID of the file metadata to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileMetadataConverter
      x-operator-class: com.dmsuite.manager.FileMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileMetadataValidator
      x-audit-action-type: GET
      x-audit-target: FILE_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - fileMetadata
      summary: Update file metadata by ID
      operationId: updateFileMetadata
      parameters:
        - name: fileMetadataId
          in: path
          description: The ID of the file metadata to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: Updated fileMetadata object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileMetadataConverter
      x-operator-class: com.dmsuite.manager.FileMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileMetadataValidator
      x-audit-action-type: EDIT
      x-audit-target: FILE_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - fileMetadata
      summary: Delete file metadata by ID
      operationId: deleteFileMetadata
      parameters:
        - name: fileMetadataId
          in: path
          description: The ID of the file metadata to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenFileMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.FileMetadataConverter
      x-operator-class: com.dmsuite.manager.FileMetadataManager
      x-validator-class: com.dmsuite.web.validators.FileMetadataValidator
      x-audit-action-type: DELETE
      x-audit-getter: getFileMetadataById
      x-audit-target: FILE_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /file-rulesets:
    get:
      tags:
        - fileRuleset
      summary: Get all file rulesets
      operationId: getAllFileRulesets
      parameters:
        - name: environment_id
          in: query
          description: The ID of the environment to get all file rulesets from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get file rulesets. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRulesetList'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: FILE_RULESET
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileRuleset
      summary: Create file ruleset
      operationId: createFileRuleset
      requestBody:
        description: The file ruleset to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileRuleset'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-audit-action-type: CREATE
      x-audit-target: FILE_RULESET
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-rulesets/{fileRulesetId}:
    get:
      tags:
        - fileRuleset
      summary: Get file ruleset by ID
      operationId: getFileRulesetById
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file ruleset to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRuleset'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-audit-action-type: GET
      x-audit-target: FILE_RULESET
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - fileRuleset
      summary: Delete file ruleset by ID
      operationId: deleteFileRuleset
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file ruleset to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-audit-action-type: DELETE
      x-audit-getter: getFileRulesetById
      x-audit-target: FILE_RULESET
      x-contentType: application/json
      x-accepts: application/json
  /file-rulesets/{fileRulesetId}/bulk-file-update:
    put:
      tags:
        - fileRuleset
      summary: >-
        Update the set of files and their attributes associated with a file
        ruleset in bulk
      operationId: bulkFileUpdate
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file ruleset to update the file for
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The exact list of files to put in the ruleset. Note that existing
          files for this ruleset not in this list will be deleted
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileMetadataBulkInput'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-rulesets/{fileRulesetId}/bulk-delta-update: {}
  /file-rulesets/{fileRulesetId}/copy:
    put:
      tags:
        - fileRuleset
      summary: Copy file ruleset by ID
      operationId: copyFileRuleset
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file ruleset to copy
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the ruleset. This must be unique within an environment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileRulesetCopy'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /file-rulesets/{fileRulesetId}/csvExport:
    post:
      tags:
        - fileRuleset
      summary: Export file ruleset by ID
      operationId: csvExport
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file ruleset to export
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the exported file
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileRulesetCSVExport'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRulesetCSVExport'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-audit-action-type: EXPORT
      x-audit-target: FILE_RULESET
      x-contentType: application/json
      x-accepts: application/json
  /file-rulesets/{fileRulesetId}/csvImport:
    put:
      tags:
        - fileRuleset
      summary: Import Ruleset inventory from CSV file
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: csvImport
      parameters:
        - name: fileRulesetId
          in: path
          description: The ID of the file rule-set to import
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadBody'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileRulesetCSVImport'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileRulesetController
      x-converter-class: com.dmsuite.web.swagger.converter.FileRulesetConverter
      x-operator-class: com.dmsuite.manager.FileRulesetManager
      x-validator-class: com.dmsuite.web.validators.FileRulesetValidator
      x-audit-action-type: IMPORT
      x-audit-target: FILE_RULESET
      x-contentType: multipart/form-data
      x-accepts: application/json
  /file-uploads:
    get:
      tags:
        - fileUpload
      summary: Get all files
      operationId: getAllFiles
      parameters:
        - name: permanent
          in: query
          description: >-
            This indicates whether the file should be persisted permanently.
            Note that this should be set to true for files like an OAuth
            settings file, i.e., files that are not explicitly referenced by a
            JDBC driver, algorithm or driver support plugin, or connection
            properties file.
          schema:
            type: boolean
            default: false
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithms. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - fileUpload
      summary: Upload file
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: uploadFile
      parameters:
        - name: permanent
          in: query
          description: >-
            This indicates whether the file should be persisted permanently.
            Note that this should be set to true for files like an OAuth
            settings file, i.e., files that are not explicitly referenced by a
            JDBC driver, algorithm or driver support plugin, or connection
            properties file.
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadBody_1'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUpload'
        '401':
          description: Unauthorized access
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-contentType: multipart/form-data
      x-accepts: application/json
    delete:
      tags:
        - fileUpload
      summary: Delete all files
      operationId: deleteAllFileUploads
      parameters:
        - name: permanent
          in: query
          description: >-
            This indicates whether all of the files that should be deleted are
            in the permanent upload directory. This defaults to false so all of
            the files that are deleted are in the temporary upload directory.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-contentType: application/json
      x-accepts: application/json
  /file-uploads/{fileUuid}:
    get:
      tags:
        - fileUpload
      summary: Get file upload by ID
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: getFileByUuid
      parameters:
        - name: fileUuid
          in: path
          description: The unique identifier of the permanently uploaded file to get
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUpload'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileUploadConverter
      x-operator-class: com.dmsuite.manager.FileUploadManager
      x-validator-class: com.dmsuite.web.validators.FileUploadValidator
      x-audit-action-type: GET
      x-audit-target: FILE_UPLOAD
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - fileUpload
      summary: Update permanent file upload by ID
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: updateFileByUuid
      parameters:
        - name: fileUuid
          in: path
          description: The unique identifier of the permanently uploaded file to update
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadBody_1'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUpload'
        '401':
          description: Unauthorized access
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileUploadConverter
      x-operator-class: com.dmsuite.manager.FileUploadManager
      x-validator-class: com.dmsuite.web.validators.FileUploadValidator
      x-audit-action-type: PUT
      x-audit-target: FILE_UPLOAD
      x-contentType: multipart/form-data
      x-accepts: application/json
    delete:
      tags:
        - fileUpload
      summary: Delete permanent file upload by ID
      operationId: deleteFileByUuid
      parameters:
        - name: fileUuid
          in: path
          description: The unique identifier of the permanently uploaded file to delete
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerFileUploadsController
      x-converter-class: com.dmsuite.web.swagger.converter.FileUploadConverter
      x-operator-class: com.dmsuite.manager.FileUploadManager
      x-validator-class: com.dmsuite.web.validators.FileUploadValidator
      x-audit-action-type: DELETE
      x-audit-target: FILE_UPLOAD
      x-contentType: application/json
      x-accepts: application/json
  /file-uploads/branding/{fileUuid}: {}
  /guardrails/{jobId}/check-job: {}
  /guardrails/{rulesetId}/check-ruleset: {}
  /import:
    post:
      tags:
        - sync
      summary: Import masking objects
      description: Import masking objects
      operationId: importObject
      parameters:
        - name: force_overwrite
          in: query
          description: >-
            Specify whether the import should fail if an object already exists
            with the same ID or the existing object should be overwritten.
          required: true
          schema:
            type: boolean
        - name: environment_id
          in: query
          description: The ID of the environment to import objects into
          schema:
            type: integer
            format: int32
        - name: source_environment_id
          in: query
          description: >-
            The ID of the source environment to import on-the-fly connectors
            into
          schema:
            type: integer
            format: int32
      requestBody:
        description: The identifier for the masking object to import
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExportObject'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ImportObjectMetadata'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerImportController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /import-async:
    post:
      tags:
        - sync
      summary: Import masking objects
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: asyncImportObject
      parameters:
        - name: force_overwrite
          in: query
          description: >-
            Specify whether the import should fail if an object already exists
            with the same ID or the existing object should be overwritten.
          required: true
          schema:
            type: boolean
        - name: environment_id
          in: query
          description: The ID of the environment to import objects into
          schema:
            type: integer
            format: int32
        - name: source_environment_id
          in: query
          description: >-
            The ID of the source environment to import on-the-fly connectors
            into
          schema:
            type: integer
            format: int32
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileUploadBody_1'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerImportController
      x-contentType: multipart/form-data
      x-accepts: application/json
    delete:
      tags:
        - sync
      summary: Delete all import documents from /async-import tasks
      operationId: purgeImportDirectory
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerImportController
      x-contentType: application/json
      x-accepts: application/json
  /installations: {}
  /installations/{fileType}: {}
  /inventory-approvals:
    get:
      tags:
        - inventoryApproval
      summary: Get Inventory Approval by environment ID and Ruleset Name.
      operationId: getInventoryApproval
      parameters:
        - name: environment_id
          in: query
          description: The ID of the Environment.
          required: true
          schema:
            type: integer
            format: int32
        - name: ruleset_name
          in: query
          description: The name of the rule-set that has inventory approval record.
          required: true
          schema:
            maxLength: 500
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryApproval'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenInventoryApprovalsController
      x-converter-class: com.dmsuite.web.swagger.converter.InventoryApprovalConverter
      x-operator-class: com.dmsuite.manager.InventoryApprovalManager
      x-validator-class: com.dmsuite.web.validators.InventoryApprovalValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: INVENTORY_APPROVAL
      x-contentType: application/json
      x-accepts: application/json
  /inventory-approvals/{inventoryApprovalId}:
    put:
      tags:
        - inventoryApproval
      summary: Update Inventory Approval by ID
      operationId: updateInventoryApproval
      parameters:
        - name: inventoryApprovalId
          in: path
          description: The ID of the inventory approval to update
          required: true
          schema:
            type: integer
            format: int32
        - name: inventoryStatus
          in: query
          description: The inventory status of the inventory approval to update
          required: true
          schema:
            type: string
            enum:
              - SUBMITTED
              - APPROVED
              - REJECTED
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryApproval'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenInventoryApprovalsController
      x-converter-class: com.dmsuite.web.swagger.converter.InventoryApprovalConverter
      x-operator-class: com.dmsuite.manager.InventoryApprovalManager
      x-validator-class: com.dmsuite.web.validators.InventoryApprovalValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: INVENTORY_APPROVAL
      x-contentType: application/json
      x-accepts: application/json
  /knowledge-base-info:
    get:
      tags:
        - knowledgeBaseInfo
      summary: Get all knowledge base info
      operationId: getAllKnowledgeBaseInfo
      parameters:
        - name: execution_event_id
          in: query
          description: The ID of the execution event for which to get knowledge base info
          schema:
            type: integer
            format: int64
        - name: page_number
          in: query
          description: >-
            The page number for which to get knowledge baee info. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeBaseInfoList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenKnowledgeBaseInfoController
      x-converter-class: com.dmsuite.web.swagger.converter.KnowledgeBaseInfoConverter
      x-operator-class: com.dmsuite.manager.KnowledgeBaseInfoManager
      x-validator-class: com.dmsuite.web.validators.KnowledgeBaseInfoValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: KNOWLEDGE_BASE_INFO
      x-manager-needs-user: false
      x-contentType: application/json
      x-accepts: application/json
  /jdbc-drivers:
    get:
      tags:
        - jdbcDriver
      summary: Get all JDBC drivers
      operationId: getAllJdbcDrivers
      parameters:
        - name: is_built_in
          in: query
          description: >-
            Get only drivers that are built in to the engine when this is true
            and only user uploaded drivers when this is false
          schema:
            type: boolean
        - name: page_number
          in: query
          description: >-
            The page number for which to get JDBC drivers. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JdbcDriversList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenJdbcDriversController
      x-converter-class: com.dmsuite.web.swagger.converter.JdbcDriverConverter
      x-operator-class: com.dmsuite.manager.JdbcDriverManager
      x-validator-class: com.dmsuite.web.validators.JdbcDriverValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: JDBC_DRIVER
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - jdbcDriver
      summary: Create Jdbc Driver
      operationId: createJdbcDriver
      requestBody:
        description: The jdbc driver details.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JdbcDriver'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JdbcDriver'
        '403':
          description: Forbidden access
        '409':
          description: Conflict
      x-swagger-router-controller: GenJdbcDriversController
      x-converter-class: com.dmsuite.web.swagger.converter.JdbcDriverConverter
      x-operator-class: com.dmsuite.manager.JdbcDriverManager
      x-validator-class: com.dmsuite.web.validators.JdbcDriverValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: JDBC_DRIVER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /jdbc-drivers/search: {}
  /jdbc-drivers/{jdbcDriverId}:
    get:
      tags:
        - jdbcDriver
      summary: Get JDBC driver by ID
      operationId: getJdbcDriverById
      parameters:
        - name: jdbcDriverId
          in: path
          description: The ID of the JDBC driver to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JdbcDriver'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenJdbcDriversController
      x-converter-class: com.dmsuite.web.swagger.converter.JdbcDriverConverter
      x-operator-class: com.dmsuite.manager.JdbcDriverManager
      x-validator-class: com.dmsuite.web.validators.JdbcDriverValidator
      x-audit-action-type: GET
      x-audit-target: JDBC_DRIVER
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - jdbcDriver
      summary: Update jdbc driver
      operationId: updateJdbcDriver
      parameters:
        - name: jdbcDriverId
          in: path
          description: The ID of the JDBC driver to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The jdbc driver details.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JdbcDriver'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JdbcDriver'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenJdbcDriversController
      x-converter-class: com.dmsuite.web.swagger.converter.JdbcDriverConverter
      x-operator-class: com.dmsuite.manager.JdbcDriverManager
      x-validator-class: com.dmsuite.web.validators.JdbcDriverValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: JDBC_DRIVER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - jdbcDriver
      summary: Delete JDBC driver by ID
      operationId: deleteJdbcDriver
      parameters:
        - name: jdbcDriverId
          in: path
          description: The ID of the JDBC driver to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenJdbcDriversController
      x-converter-class: com.dmsuite.web.swagger.converter.JdbcDriverConverter
      x-operator-class: com.dmsuite.manager.JdbcDriverManager
      x-validator-class: com.dmsuite.web.validators.JdbcDriverValidator
      x-audit-action-type: DELETE
      x-audit-target: JDBC_DRIVER
      x-contentType: application/json
      x-accepts: application/json
  /license:
    get:
      tags:
        - license
      summary: Get all licenses
      operationId: getAllLicenses
      parameters:
        - name: jdbc_driver_id
          in: query
          description: The JDBC driver Id to get the license
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get licences. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenLicenseController
      x-converter-class: com.dmsuite.web.swagger.converter.LicenseInfoConverter
      x-operator-class: com.dmsuite.manager.LicenseInfoManager
      x-validator-class: com.dmsuite.web.validators.LicenseInfoValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: LICENSE
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - license
      summary: Create license
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: createLicense
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LicenseBody'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/License'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenLicenseController
      x-converter-class: com.dmsuite.web.swagger.converter.LicenseInfoConverter
      x-operator-class: com.dmsuite.manager.LicenseInfoManager
      x-validator-class: com.dmsuite.web.validators.LicenseInfoValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: LICENSE
      x-contentType: multipart/form-data
      x-accepts: application/json
  /license/{licenseId}:
    get:
      tags:
        - license
      summary: Get license by ID
      operationId: getLicenseById
      parameters:
        - name: licenseId
          in: path
          description: The ID of the license to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/License'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenLicenseController
      x-converter-class: com.dmsuite.web.swagger.converter.LicenseInfoConverter
      x-operator-class: com.dmsuite.manager.LicenseInfoManager
      x-validator-class: com.dmsuite.web.validators.LicenseInfoValidator
      x-audit-action-type: GET
      x-audit-target: LICENSE
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - license
      summary: Delete license by ID
      operationId: deleteLicense
      parameters:
        - name: licenseId
          in: path
          description: The ID of the license to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenLicenseController
      x-converter-class: com.dmsuite.web.swagger.converter.LicenseInfoConverter
      x-operator-class: com.dmsuite.manager.LicenseInfoManager
      x-validator-class: com.dmsuite.web.validators.LicenseInfoValidator
      x-audit-action-type: DELETE
      x-audit-getter: getLicenseById
      x-audit-target: LICENSE
      x-contentType: application/json
      x-accepts: application/json
  /login:
    post:
      tags:
        - login
      summary: Log in to the Masking Engine
      operationId: login
      requestBody:
        description: The login object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Login'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '401':
          description: Unauthorized access
      security: []
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerLoginController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: login
  /sso-login:
    post:
      tags:
        - login
      summary: >-
        Log in to the Masking Engine with an OAuth2 access token from Data
        Control Tower.
      operationId: ssoLogin
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '401':
          description: Unauthorized access
      security: []
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerLoginController
      x-contentType: application/json
      x-accepts: application/json
  /oauth2-login:
    post:
      tags:
        - login
      summary: >-
        Log in to the Masking Engine with an OAuth2 access token from a
        customer's Authorization Server.
      operationId: oauth2Login
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '401':
          description: Unauthorized access
      security: []
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerLoginController
      x-contentType: application/json
      x-accepts: application/json
  /logout:
    put:
      tags:
        - login
      summary: Log out of the Masking Engine
      operationId: logout
      responses:
        '204':
          description: Success
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerLogoutController
      x-contentType: application/json
      x-accepts: application/json
  /session: {}
  /sso-switch-user: {}
  /mainframe-dataset-connectors:
    get:
      tags:
        - mainframeDatasetConnector
      summary: Get all Mainframe Dataset connectors
      operationId: getAllMainframeDatasetConnectors
      parameters:
        - name: environment_id
          in: query
          description: >-
            The ID of the environment to get all Mainframe Dataset connectors
            from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get Mainframe Dataset connectors. This
            will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetConnectorList'
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - mainframeDatasetConnector
      summary: Create Mainframe Dataset connector
      operationId: createMainframeDatasetConnector
      requestBody:
        description: The Mainframe Dataset connector to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetConnector'
        required: true
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetConnector'
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: CREATE
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-connectors/{mainframeDatasetConnectorId}:
    get:
      tags:
        - mainframeDatasetConnector
      summary: Get Mainframe Dataset connector by ID
      operationId: getMainframeDatasetConnectorById
      parameters:
        - name: mainframeDatasetConnectorId
          in: path
          description: The ID of the Mainframe Dataset connector to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetConnector'
        '400':
          description: Invalid mainframeDatasetConnectorId supplied
        '403':
          description: Forbidden access
        '404':
          description: Mainframe Dataset Connector not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - mainframeDatasetConnector
      summary: Update Mainframe Dataset connector by ID
      operationId: updateMainframeDatasetConnector
      parameters:
        - name: mainframeDatasetConnectorId
          in: path
          description: The ID of the Mainframe Dataset connector to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated Mainframe Dataset connector
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetConnector'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetConnector'
        '400':
          description: Invalid mainframeDatasetConnectorId supplied
        '403':
          description: Forbidden access
        '404':
          description: Mainframe Dataset Connector not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: EDIT
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - mainframeDatasetConnector
      summary: Delete Mainframe Dataset connector by ID
      operationId: deleteMainframeDatasetConnector
      parameters:
        - name: mainframeDatasetConnectorId
          in: path
          description: The ID of the Mainframe Dataset connector to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid mainframeDatasetConnectorId supplied
        '403':
          description: Forbidden access
        '404':
          description: Mainframe Dataset Connector not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-manager-needs-user: true
      x-manager-needs-request-ip: true
      x-audit-action-type: DELETE
      x-audit-getter: getMainframeDatasetConnectorById
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-connectors/{mainframeDatasetConnectorId}/fetch:
    get:
      tags:
        - mainframeDatasetConnector
      summary: Fetch all accessible file names
      description: >-
        Note that even the names of files in the directory path that are not
        readable or writable will be returned
      operationId: fetchMainframeDatasetMetadata
      parameters:
        - name: mainframeDatasetConnectorId
          in: path
          description: The ID of the Mainframe Dataset connector to fetch the files for
          required: true
          schema:
            type: integer
            format: int32
        - name: hideExisting
          in: query
          description: >-
            This flag specifies fetching only table names that are not already
            part of a particular ruleset.
          required: false
          schema:
            type: boolean
        - name: rulesetId
          in: query
          description: >-
            Ruleset ID to check if the file is already added. Required in case
            of hideExisting is set to true.
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '400':
          description: Invalid mainframeDatasetConnectorId supplied
        '403':
          description: Forbidden access
        '404':
          description: Mainframe Dataset Connector not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-connectors/{mainframeDatasetConnectorId}/test:
    post:
      tags:
        - mainframeDatasetConnector
      summary: Test Mainframe Dataset connector by ID
      description: >-
        WARNING: There is a known bug in the API Client where it is impossible
        to submit a request with an 'empty' body. As such, only the 'full' body
        variant of this endpoint can be used through the API Client. To use the
        'empty' body variant of this endpoint, please do not use the API Client,
        but instead use curl or some other method of issuing HTTP requests.
      operationId: testMainframeDatasetConnector
      parameters:
        - name: mainframeDatasetConnectorId
          in: path
          description: The ID of the Mainframe Dataset connector to test
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The Mainframe Dataset connector to test. This field is optional and if
          no password or sshkey is supplied with the connector then the password
          associated with the fileConnectorId will be used.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetConnector'
        required: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Invalid mainframeDatasetConnectorId supplied
        '403':
          description: Forbidden access
        '404':
          description: Mainframe Dataset Connector not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-connectors/test:
    post:
      tags:
        - mainframeDatasetConnector
      summary: Test an unsaved Mainframe Dataset connector
      operationId: testUnsavedMainframeDatasetConnector
      requestBody:
        description: The Mainframe Dataset connector to test
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetConnector'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectorResponse'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetConnectorsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetConnectorConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetConnectorManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetConnectorValidator
      x-audit-action-type: TEST
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_CONNECTOR
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-connectors/{environmentId}/search: {}
  /mainframe-dataset-field-details/search: {}
  /mainframe-dataset-field-metadata:
    get:
      tags:
        - mainframeDatasetFieldMetadata
      summary: Get all Mainframe Dataset field metadata
      operationId: getAllMainframeDatasetFieldMetadata
      parameters:
        - name: mainframe_dataset_format_id
          in: query
          description: >-
            The ID of the Mainframe Dataset format to get all Mainframe Dataset
            field metadata from
          schema:
            type: integer
            format: int32
        - name: is_masked
          in: query
          description: >-
            Get only masked Mainframe Dataset field metadata when this is true
            and only unmasked Mainframe Dataset field metadata when this is
            false
          schema:
            type: boolean
        - name: page_number
          in: query
          description: >-
            The page number for which to get Mainframe Dataset field metadata.
            This will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFieldMetadataList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFieldConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFieldMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-field-metadata/{mainframeDatasetFieldMetadataId}:
    get:
      tags:
        - mainframeDatasetFieldMetadata
      summary: Get Mainframe Dataset field metadata by ID
      operationId: getMainframeDatasetFieldMetadataById
      parameters:
        - name: mainframeDatasetFieldMetadataId
          in: path
          description: The ID of the Mainframe Dataset field metadata to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFieldMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFieldConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFieldMetadataValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - mainframeDatasetFieldMetadata
      summary: Update Mainframe Dataset field metadata by ID
      operationId: updateMainframeDatasetFieldMetadata
      parameters:
        - name: mainframeDatasetFieldMetadataId
          in: path
          description: The ID of the Mainframe Dataset field metadata to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated Mainframe Dataset field metadata
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetFieldMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFieldMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetFieldMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFieldConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFieldMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFieldMetadataValidator
      x-audit-action-type: EDIT
      x-audit-target: MAINFRAME_DATASET_FIELD_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-formats:
    get:
      tags:
        - mainframeDatasetFormat
      summary: Get all Mainframe Dataset formats
      operationId: getAllMainframeDatasetFormats
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get Mainframe Dataset formats. This
            will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFormatList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenMainframeDatasetFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFormatConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFormatManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFormatValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_FORMAT
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - mainframeDatasetFormat
      summary: Create Mainframe Dataset format
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload Mainframe Dataset
        files through the API
      operationId: createMainframeDatasetFormat
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MainframeDatasetFormatBody'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFormat'
        '403':
          description: Forbidden access
        '409':
          description: Conflict
      x-swagger-router-controller: GenMainframeDatasetFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFormatConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFormatManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFormatValidator
      x-audit-action-type: CREATE
      x-audit-target: MAINFRAME_DATASET_FORMAT
      x-contentType: multipart/form-data
      x-accepts: application/json
  /mainframe-dataset-formats/{mainframeDatasetFormatId}:
    get:
      tags:
        - mainframeDatasetFormat
      summary: Get Mainframe Dataset format by ID
      operationId: getMainframeDatasetFormatById
      parameters:
        - name: mainframeDatasetFormatId
          in: path
          description: The ID of the Mainframe Dataset format to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetFormat'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFormatConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFormatManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFormatValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_FORMAT
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - mainframeDatasetFormat
      summary: Delete Mainframe Dataset format by ID
      operationId: deleteMainframeDatasetFormat
      parameters:
        - name: mainframeDatasetFormatId
          in: path
          description: The ID of the Mainframe Dataset format to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetFormatsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetFormatConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetFormatManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetFormatValidator
      x-audit-action-type: DELETE
      x-audit-getter: getMainframeDatasetFormatById
      x-audit-target: MAINFRAME_DATASET_FORMAT
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-formats/search: {}
  /mainframe-dataset-metadata:
    get:
      tags:
        - mainframeDatasetMetadata
      summary: Get all Mainframe Dataset metadata
      operationId: getAllMainframeDatasetMetadata
      parameters:
        - name: ruleset_id
          in: query
          description: The ID of the ruleset to get all Mainframe Dataset metadata from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get Mainframe Dataset metadata. This
            will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetMetadataList'
      x-swagger-router-controller: GenMainframeDatasetMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetMetadataConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_METADATA
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - mainframeDatasetMetadata
      summary: Create Mainframe Dataset metadata
      operationId: createMainframeDatasetMetadata
      requestBody:
        description: The Mainframe Dataset metadata to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetMetadata'
        required: true
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetMetadata'
      x-swagger-router-controller: GenMainframeDatasetMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetMetadataConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetMetadataValidator
      x-audit-action-type: CREATE
      x-audit-target: MAINFRAME_DATASET_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-metadata/{mainframeDatasetMetadataId}:
    get:
      tags:
        - mainframeDatasetMetadata
      summary: Get Mainframe Dataset metadata by ID
      operationId: getMainframeDatasetMetadataById
      parameters:
        - name: mainframeDatasetMetadataId
          in: path
          description: The ID of the Mainframe Dataset metadata to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetMetadata'
        '400':
          description: Invalid mainframeDatasetMetadataId supplied
        '404':
          description: MainframeDatasetMetadata not found
      x-swagger-router-controller: GenMainframeDatasetMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetMetadataConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetMetadataValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - mainframeDatasetMetadata
      summary: Update Mainframe Dataset metadata by ID
      operationId: updateMainframeDatasetMetadata
      parameters:
        - name: mainframeDatasetMetadataId
          in: path
          description: The ID of the Mainframe Dataset metadata to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated Mainframe Dataset metadata
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetMetadata'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetMetadata'
        '400':
          description: Invalid mainframeDatasetMetadataId supplied
        '404':
          description: MainframeDatasetMetadata not found
      x-swagger-router-controller: GenMainframeDatasetMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetMetadataConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetMetadataValidator
      x-audit-action-type: EDIT
      x-audit-target: MAINFRAME_DATASET_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - mainframeDatasetMetadata
      summary: Delete Mainframe Dataset metadata by ID
      operationId: deleteMainframeDatasetMetadata
      parameters:
        - name: mainframeDatasetMetadataId
          in: path
          description: The ID of the Mainframe Dataset metadata to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid mainframeDatasetMetadataId supplied
        '404':
          description: MainframeDatasetMetadata not found
      x-swagger-router-controller: GenMainframeDatasetMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetMetadataConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetMetadataManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetMetadataValidator
      x-audit-action-type: DELETE
      x-audit-getter: getMainframeDatasetMetadataById
      x-audit-target: MAINFRAME_DATASET_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-format-metadata/findByName: {}
  /mainframe-dataset-format-metadata/search: {}
  /mainframe-dataset-record-types:
    get:
      tags:
        - mainframeDatasetRecordType
      summary: Get all Mainframe Dataset record type
      operationId: getAllMainframeDatasetRecordTypes
      parameters:
        - name: mainframe_dataset_format_id
          in: query
          description: >-
            The ID of the Mainframe Dataset format to get all Mainframe Dataset
            record types from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get mainframe dataset record types.
            This will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRecordTypeList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRecordTypeConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRecordTypeManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRecordTypeValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-record-types/{mainframeDatasetRecordTypeId}:
    get:
      tags:
        - mainframeDatasetRecordType
      summary: Get Mainframe Dataset record type by ID
      operationId: getMainframeDatasetRecordTypeById
      parameters:
        - name: mainframeDatasetRecordTypeId
          in: path
          description: The ID of the Mainframe Dataset record type to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRecordType'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRecordTypeConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRecordTypeManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRecordTypeValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - mainframeDatasetRecordType
      summary: Update Mainframe Dataset record type by ID
      operationId: updateMainframeDatasetRecordType
      parameters:
        - name: mainframeDatasetRecordTypeId
          in: path
          description: The ID of the Mainframe Dataset record type to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated Mainframe Dataset record type
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetRecordType'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRecordType'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMainframeDatasetRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRecordTypeConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRecordTypeManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRecordTypeValidator
      x-audit-action-type: EDIT
      x-audit-target: MAINFRAME_DATASET_RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-rulesets:
    get:
      tags:
        - mainframeDatasetRuleset
      summary: Get all Mainframe Dataset rulesets
      operationId: getAllMainframeDatasetRulesets
      parameters:
        - name: environment_id
          in: query
          description: The ID of the environment to get all Mainframe Dataset rulesets from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get Mainframe Dataset rulesets. This
            will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRulesetList'
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRulesetConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRulesetManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRulesetValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MAINFRAME_DATASET_RULESET
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - mainframeDatasetRuleset
      summary: Create Mainframe Dataset ruleset
      operationId: createMainframeDatasetRuleset
      requestBody:
        description: The Mainframe Dataset ruleset to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetRuleset'
        required: true
      responses:
        default:
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRuleset'
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRulesetConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRulesetManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRulesetValidator
      x-audit-action-type: CREATE
      x-audit-target: MAINFRAME_DATASET_RULESET
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-rulesets/{mainframeDatasetRulesetId}:
    get:
      tags:
        - mainframeDatasetRuleset
      summary: Get Mainframe Dataset ruleset by ID
      operationId: getMainframeDatasetRulesetById
      parameters:
        - name: mainframeDatasetRulesetId
          in: path
          description: The ID of the Mainframe Dataset ruleset to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRuleset'
        '400':
          description: Invalid mainframeDatasetRulesetId supplied
        '403':
          description: Forbidden access
        '404':
          description: MainframeDatasetRuleset not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRulesetConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRulesetManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRulesetValidator
      x-audit-action-type: GET
      x-audit-target: MAINFRAME_DATASET_RULESET
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - mainframeDatasetRuleset
      summary: Delete Mainframe Dataset ruleset by ID
      operationId: deleteMainframeDatasetRuleset
      parameters:
        - name: mainframeDatasetRulesetId
          in: path
          description: The ID of the Mainframe Dataset ruleset to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid mainframeDatasetRulesetId supplied
        '403':
          description: Forbidden access
        '404':
          description: MainframeDatasetRuleset not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-converter-class: com.dmsuite.web.swagger.converter.MainframeDatasetRulesetConverter
      x-operator-class: com.dmsuite.manager.MainframeDatasetRulesetManager
      x-validator-class: com.dmsuite.web.validators.MainframeDatasetRulesetValidator
      x-audit-action-type: DELETE
      x-audit-getter: getMainframeDatasetRulesetById
      x-audit-target: MAINFRAME_DATASET_RULESET
      x-contentType: application/json
      x-accepts: application/json
  /mainframe-dataset-rulesets/{mainframeDatasetRulesetId}/bulk-mainframe-dataset-update:
    put:
      tags:
        - mainframeDatasetRuleset
      summary: >-
        Update the set of mainframe datasets and their attributes associated
        with a mainframe dataset ruleset in bulk
      operationId: bulkMainframeDatasetUpdate
      parameters:
        - name: mainframeDatasetRulesetId
          in: path
          description: >-
            The ID of the mainframe dataset ruleset to update the mainframe
            dataset for
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          The exact list of mainframe datasets to put in the ruleset. Note that
          existing datasets for this ruleset not in this list will be deleted
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetMetadataBulkInput'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mainframe-dataset-rulesets/{mainframeDatasetRulesetId}/bulk-mainframe-dataset-delta-update: {}
  /mainframe-dataset-rulesets/{mainframeDatasetRulesetId}/copy:
    put:
      tags:
        - mainframeDatasetRuleset
      summary: Copy mainframe dataset ruleset by ID
      operationId: copyMainframeDatasetRuleset
      parameters:
        - name: mainframeDatasetRulesetId
          in: path
          description: The ID of the mainframe dataset ruleset to copy
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The name of the ruleset. This must be unique within an environment.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MainframeDatasetRulesetCopy'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MainframeDatasetRuleset'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMainframeDatasetRulesetsController
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mapping-algorithms/{algorithmName}/add-mappings:
    post:
      tags:
        - mappingAlgorithm
      summary: Add mappings for mapping algorithm
      operationId: addMappingAlgorithmMappings
      parameters:
        - name: algorithmName
          in: path
          description: The name of the mapping algorithm.
          required: true
          schema:
            type: string
        - name: fileReferenceId
          in: query
          description: >-
            The reference URI of the uploaded file to be installed. This file
            should have been uploaded via the /fileUpload endpoint.
          required: true
          schema:
            type: string
        - name: passphrase
          in: query
          description: >-
            The passphrase that an exported CSV mapping file was encrypted with.
            This is only needed if adding mappings that were previously
            exported.
          schema:
            type: string
        - name: mappingFileType
          in: query
          description: >-
            The type of the file provided. If PLAINTEXT is chosen, the file is
            expected to contain newline delimited outputs. If CSV is chosen, the
            file is expected to conform to RFC4180. Additionally, 2 columns are
            expected - input and output. The first row of the CSV must be a
            header.
          schema:
            type: string
            enum:
              - PLAINTEXT
              - CSV
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMappingAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /mapping-algorithms/{algorithmName}/delete-mappings:
    delete:
      tags:
        - mappingAlgorithm
      summary: Irreversibly delete all saved mappings for mapping algorithm.
      operationId: deleteMappingAlgorithmMappings
      parameters:
        - name: algorithmName
          in: path
          description: The name of the mapping algorithm.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMappingAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /mapping-algorithms/{algorithmName}/export-mappings:
    post:
      tags:
        - mappingAlgorithm
      summary: Export mappings for mapping algorithm
      operationId: exportMappings
      parameters:
        - name: algorithmName
          in: path
          description: The name of the mapping algorithm.
          required: true
          schema:
            type: string
        - name: passphrase
          in: query
          description: The passphrase to use to encrypt the mappings in the export file.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMappingAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /mapping-algorithms/{algorithmName}/reset:
    post:
      tags:
        - mappingAlgorithm
      summary: Reset mappings for mapping algorithm.
      operationId: resetMappingAlgorithm
      parameters:
        - name: algorithmName
          in: path
          description: The name of the mapping algorithm.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMappingAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /mapping-algorithms/{algorithmName}/stats:
    get:
      tags:
        - mappingAlgorithm
      summary: Get stats for mapping algorithm
      operationId: getMappingAlgorithmStats
      parameters:
        - name: algorithmName
          in: path
          description: The name of the mapping algorithm.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MappingAlgorithmStats'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerMappingAlgorithmsController
      x-contentType: application/json
      x-accepts: application/json
  /masking-jobs:
    get:
      tags:
        - maskingJob
      summary: Get all masking jobs
      operationId: getAllMaskingJobs
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get masking jobs. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all masking jobs from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingJobList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMaskingJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.MaskingJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MASKING_JOB
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - maskingJob
      summary: Create masking job
      operationId: createMaskingJob
      requestBody:
        description: The masking job to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaskingJob'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenMaskingJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.MaskingJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-manager-needs-user: true
      x-notification-callback: false
      x-audit-action-type: CREATE
      x-audit-target: MASKING_JOB
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /masking-jobs/{maskingJobId}:
    get:
      tags:
        - maskingJob
      summary: Get masking job by ID
      operationId: getMaskingJobById
      parameters:
        - name: maskingJobId
          in: path
          description: The ID of the masking job to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMaskingJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.MaskingJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET
      x-audit-target: MASKING_JOB
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - maskingJob
      summary: Update masking job by ID
      operationId: updateMaskingJob
      parameters:
        - name: maskingJobId
          in: path
          description: The ID of the masking job to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated masking job
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaskingJob'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskingJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMaskingJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.MaskingJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: EDIT
      x-audit-target: MASKING_JOB
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - maskingJob
      summary: Delete masking job by ID
      operationId: deleteMaskingJob
      parameters:
        - name: maskingJobId
          in: path
          description: The ID of the masking job to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMaskingJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.MaskingJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: DELETE
      x-audit-getter: getMaskingJobById
      x-audit-target: MASKING_JOB
      x-contentType: application/json
      x-accepts: application/json
  /monitor-jobs-info: {}
  /monitor-task:
    get:
      tags:
        - monitoring
      summary: Get status of Executions and async tasks
      operationId: getAllTaskStatus
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get tasks for monitor. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: state
          in: query
          description: >-
            The state of task to get the status. Default is to return running
            tasks
          schema:
            type: string
            enum:
              - RUNNING
            default: RUNNING
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorTaskList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMonitorTaskController
      x-converter-class: com.dmsuite.web.swagger.converter.MonitorTaskConverter
      x-operator-class: com.dmsuite.manager.MonitorManager
      x-validator-class: com.dmsuite.web.validators.MonitorTaskValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MONITOR_TASK
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
  /monitor-task/{taskId}:
    get:
      tags:
        - monitoring
      summary: Get status of Executions or async tasks by id
      operationId: getTaskStatusByTypeAndId
      parameters:
        - name: taskId
          in: path
          description: The ID of the monitorable task to get
          required: true
          schema:
            type: integer
            format: int32
        - name: monitorable_task
          in: query
          description: The type of monitorable task to check progress
          schema:
            type: string
            enum:
              - EXECUTIONS
            default: EXECUTIONS
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorTask'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenMonitorTaskController
      x-converter-class: com.dmsuite.web.swagger.converter.MonitorTaskConverter
      x-operator-class: com.dmsuite.manager.MonitorManager
      x-validator-class: com.dmsuite.web.validators.MonitorTaskValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: MONITOR_TASK
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
  /mount-filesystem:
    get:
      tags:
        - mountFilesystem
      summary: Get all mounts
      operationId: getAllMounts
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get mount information. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformationList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - mountFilesystem
      summary: Create filesystem mount
      operationId: createMountFilesystem
      requestBody:
        description: The filesystem to mount
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MountInformation'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /mount-filesystem/{mountID}:
    get:
      tags:
        - mountFilesystem
      summary: Get mount by ID
      operationId: getMountByID
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: GET
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - mountFilesystem
      summary: Update filesystem mount
      operationId: updateMountFilesystem
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated filesystem
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MountInformation'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - mountFilesystem
      summary: Delete filesystem mount
      operationId: deleteMountFilesystem
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: DELETE
      x-audit-getter: getMountByID
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
  /mount-filesystem/{mountID}/connect:
    put:
      tags:
        - mountFilesystem
      summary: Connect filesystem mount
      operationId: connectMountFilesystem
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to connect
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: CONNECT
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
  /mount-filesystem/{mountID}/disconnect:
    put:
      tags:
        - mountFilesystem
      summary: Disconnect filesystem mount
      operationId: disconnectMountFilesystem
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to disconnect
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: DISCONNECT
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
  /mount-filesystem/{mountID}/remount:
    put:
      tags:
        - mountFilesystem
      summary: Remount filesystem mount
      operationId: remountMountFilesystem
      parameters:
        - name: mountID
          in: path
          description: The ID of the mount to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated filesystem
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MountInformation'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MountInformation'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenMountFilesystemController
      x-converter-class: com.dmsuite.web.swagger.converter.MountFilesystemConverter
      x-operator-class: com.dmsuite.manager.MountFilesystemManager
      x-validator-class: com.dmsuite.web.validators.MountFilesystemValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: MOUNT_FILESYSTEM
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /non-conformant-data-sample:
    get:
      tags:
        - nonConformantDataSample
      summary: Get all non-conformant data samples
      description: >-
        Get redacted data samples associated with non-conforming data execution
        events.
      operationId: getAllNonConformantDataSamples
      parameters:
        - name: execution_event_id
          in: query
          description: >-
            The ID(s) of the execution event(s) for which to get all
            non-conformant data samples
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: page_number
          in: query
          description: >-
            The page number for which to get non-conformant data samples. This
            will default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NonConformantDataSampleList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerNonConformantDataSampleController
      x-converter-class: com.dmsuite.web.swagger.converter.NonConformantDataSampleConverter
      x-operator-class: com.dmsuite.manager.NonConformantDataSampleManager
      x-validator-class: com.dmsuite.web.validators.NonConformantDataSampleValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: NON_CONFORMING_DATA_SAMPLE
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
  /oauth2/is-oauth2-ready: {}
  /password-vaults:
    get:
      tags:
        - passwordVault
      summary: Get all password vaults
      operationId: getAllPasswordVaults
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get password vaults. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordVaultList'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPasswordVaultsController
      x-converter-class: com.dmsuite.web.swagger.converter.PasswordVaultConverter
      x-operator-class: com.dmsuite.manager.PasswordVaultManager
      x-validator-class: com.dmsuite.web.validators.PasswordVaultValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: PASSWORD_VAULT
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - passwordVault
      summary: Create password vault
      operationId: createPasswordVault
      requestBody:
        description: The password vault to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordVault'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordVault'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenPasswordVaultsController
      x-converter-class: com.dmsuite.web.swagger.converter.PasswordVaultConverter
      x-operator-class: com.dmsuite.manager.PasswordVaultManager
      x-validator-class: com.dmsuite.web.validators.PasswordVaultValidator
      x-audit-action-type: CREATE
      x-audit-ignore-return: true
      x-audit-target: PASSWORD_VAULT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /password-vaults/{passwordVaultId}:
    get:
      tags:
        - passwordVault
      summary: Get password vault by ID
      operationId: getPasswordVaultById
      parameters:
        - name: passwordVaultId
          in: path
          description: The ID of the password vault to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordVault'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPasswordVaultsController
      x-operator-class: com.dmsuite.manager.PasswordVaultManager
      x-validator-class: com.dmsuite.web.validators.PasswordVaultValidator
      x-converter-class: com.dmsuite.web.swagger.converter.PasswordVaultConverter
      x-audit-action-type: GET
      x-audit-target: PASSWORD_VAULT
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - passwordVault
      summary: Update password vault by ID
      operationId: updatePasswordVault
      parameters:
        - name: passwordVaultId
          in: path
          description: The ID of the password vault to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated password vault
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordVault'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordVault'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPasswordVaultsController
      x-operator-class: com.dmsuite.manager.PasswordVaultManager
      x-validator-class: com.dmsuite.web.validators.PasswordVaultValidator
      x-converter-class: com.dmsuite.web.swagger.converter.PasswordVaultConverter
      x-audit-action-type: EDIT
      x-audit-target: PASSWORD_VAULT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - passwordVault
      summary: Delete password vault by ID
      operationId: deletePasswordVault
      parameters:
        - name: passwordVaultId
          in: path
          description: The ID of the password vault to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPasswordVaultsController
      x-converter-class: com.dmsuite.web.swagger.converter.PasswordVaultConverter
      x-operator-class: com.dmsuite.manager.PasswordVaultManager
      x-validator-class: com.dmsuite.web.validators.PasswordVaultValidator
      x-audit-action-type: DELETE
      x-audit-getter: getPasswordVaultById
      x-audit-target: PASSWORD_VAULT
      x-contentType: application/json
      x-accepts: application/json
  /plugin:
    get:
      tags:
        - plugin
      summary: Get all plugins
      description: Get a detailed list of all installed plugins
      operationId: getAllPlugins
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithm plugins. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: pluginType
          in: query
          description: The type of plugin to retrieve.
          schema:
            type: string
            enum:
              - EXTENDED_ALGORITHM
              - DRIVER_SUPPORT
            default: EXTENDED_ALGORITHM
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PluginList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: GenPluginController
      x-converter-class: com.dmsuite.web.swagger.converter.PluginConverter
      x-operator-class: com.dmsuite.manager.PluginManager
      x-validator-class: com.dmsuite.web.validators.PluginValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: PLUGIN
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - plugin
      summary: Install plugin
      description: Install an uploaded plugin file onto the system
      operationId: createPlugin
      parameters:
        - name: fileReferenceId
          in: query
          description: The file references ID of the uploaded plugin JAR file to install
          required: true
          schema:
            type: string
        - name: pluginName
          in: query
          description: >-
            Override the default name of the plugin. Plugin names must be unique
            across plugins of the same type on the engine.
          schema:
            type: string
        - name: pluginType
          in: query
          description: The type of plugin to retrieve.
          schema:
            type: string
            enum:
              - EXTENDED_ALGORITHM
              - DRIVER_SUPPORT
            default: EXTENDED_ALGORITHM
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenPluginController
      x-converter-class: com.dmsuite.web.swagger.converter.PluginConverter
      x-operator-class: com.dmsuite.manager.PluginManager
      x-validator-class: com.dmsuite.web.validators.PluginValidator
      x-audit-action-type: CREATE
      x-audit-target: PLUGIN
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
  /plugin/{pluginId}:
    get:
      tags:
        - plugin
      summary: Get plugin detail by pluginId
      description: Get detailed information about an installed plugin by pluginId
      operationId: getPlugin
      parameters:
        - name: pluginId
          in: path
          description: The ID of the plugin to get
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenPluginController
      x-converter-class: com.dmsuite.web.swagger.converter.PluginConverter
      x-operator-class: com.dmsuite.manager.PluginManager
      x-validator-class: com.dmsuite.web.validators.PluginValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: PLUGIN
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - plugin
      summary: Update plugin
      description: >-
        Update an installed plugin to use the uploaded JAR file. The new plugin
        must contain all components delivered by the previous version.
      operationId: updatePlugin
      parameters:
        - name: pluginId
          in: path
          description: The ID of the plugin to update
          required: true
          schema:
            type: integer
            format: int64
        - name: fileReferenceId
          in: query
          description: The file references ID of the new uploaded plugin JAR file
          required: true
          schema:
            type: string
        - name: pluginName
          in: query
          description: The name of the plugin
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plugin'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPluginController
      x-converter-class: com.dmsuite.web.swagger.converter.PluginConverter
      x-operator-class: com.dmsuite.manager.PluginManager
      x-validator-class: com.dmsuite.web.validators.PluginValidator
      x-audit-action-type: EDIT
      x-manager-needs-user: true
      x-audit-target: PLUGIN
      x-contentType: application/json
      x-accepts: application/json
    delete:
      tags:
        - plugin
      summary: Delete plugin
      description: Delete an installed plugin.
      operationId: deletePlugin
      parameters:
        - name: pluginId
          in: path
          description: The ID of the plugin to delete
          required: true
          schema:
            type: integer
            format: int64
        - name: force
          in: query
          description: >-
            Force deletion of all dependent usage associated with the plugin,
            such as inventory and domain assignments of algorithms
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenPluginController
      x-converter-class: com.dmsuite.web.swagger.converter.PluginConverter
      x-operator-class: com.dmsuite.manager.PluginManager
      x-validator-class: com.dmsuite.web.validators.PluginValidator
      x-audit-action-type: DELETE
      x-audit-special-delete: true
      x-audit-target: PLUGIN
      x-contentType: application/json
      x-accepts: application/json
  /plugin/search: {}
  /plugin/bulk-delete: {}
  /profile-jobs:
    get:
      tags:
        - profileJob
      summary: Get all profile jobs
      operationId: getAllProfileJobs
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get profile jobs. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all profile jobs from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileJobList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: PROFILE_JOB
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - profileJob
      summary: Create profile job
      operationId: createProfileJob
      requestBody:
        description: The profile job to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileJob'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenProfileJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: PROFILE_JOB
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /profile-jobs/{profileJobId}:
    get:
      tags:
        - profileJob
      summary: Get profile job by ID
      operationId: getProfileJobById
      parameters:
        - name: profileJobId
          in: path
          description: The ID of the profile job to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET
      x-audit-target: PROFILE_JOB
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - profileJob
      summary: Update profile job by ID
      operationId: updateProfileJob
      parameters:
        - name: profileJobId
          in: path
          description: The ID of the profile job to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated profile job
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileJob'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenProfileJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: EDIT
      x-audit-target: PROFILE_JOB
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - profileJob
      summary: Delete profile job by ID
      operationId: deleteProfileJob
      parameters:
        - name: profileJobId
          in: path
          description: The ID of the profile job to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: DELETE
      x-audit-getter: getProfileJobById
      x-audit-target: PROFILE_JOB
      x-contentType: application/json
      x-accepts: application/json
  /profile-sets:
    get:
      tags:
        - profileSet
      summary: Get all profile sets
      operationId: getAllProfileSets
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get profile sets. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileSetList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileSetConverter
      x-operator-class: com.dmsuite.manager.ProfileSetManager
      x-validator-class: com.dmsuite.web.validators.ProfileSetValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: PROFILE_SET
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - profileSet
      summary: Create profile set
      operationId: createProfileSet
      requestBody:
        description: The profile set to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileSet'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileSet'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileSetConverter
      x-operator-class: com.dmsuite.manager.ProfileSetManager
      x-validator-class: com.dmsuite.web.validators.ProfileSetValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: PROFILE_SET
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /profile-sets/{profileSetId}:
    get:
      tags:
        - profileSet
      summary: Get profile set by ID
      operationId: getProfileSetById
      parameters:
        - name: profileSetId
          in: path
          description: The ID of the profile set to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileSet'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileSetConverter
      x-operator-class: com.dmsuite.manager.ProfileSetManager
      x-validator-class: com.dmsuite.web.validators.ProfileSetValidator
      x-audit-action-type: GET
      x-audit-target: PROFILE_SET
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - profileSet
      summary: Update profile set by ID
      operationId: updateProfileSet
      parameters:
        - name: profileSetId
          in: path
          description: The ID of the profile set to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated profile set
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProfileSet'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileSet'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileSetConverter
      x-operator-class: com.dmsuite.manager.ProfileSetManager
      x-validator-class: com.dmsuite.web.validators.ProfileSetValidator
      x-audit-action-type: EDIT
      x-audit-target: PROFILE_SET
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - profileSet
      summary: Delete profile set by ID
      operationId: deleteProfileSet
      parameters:
        - name: profileSetId
          in: path
          description: The ID of the profile set to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfileSetConverter
      x-operator-class: com.dmsuite.manager.ProfileSetManager
      x-validator-class: com.dmsuite.web.validators.ProfileSetValidator
      x-audit-action-type: DELETE
      x-audit-getter: getProfileSetById
      x-audit-target: PROFILE_SET
      x-contentType: application/json
      x-accepts: application/json
  /profile-sets/{profileSetId}/export:
    post:
      tags:
        - profileSet
      summary: >-
        Export a zip file of the specified profile set's configuration JSON and
        the files used by its classifiers
      operationId: exportProfileSet
      parameters:
        - name: profileSetId
          in: path
          description: The ID of the profile set
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-audit-action-type: EXPORT
      x-audit-target: PROFILE_SET
  /profile-sets/search: {}
  /profile-sets/usage:
    get:
      tags:
        - profileSet
      summary: >-
        Generate a report listing all usage of profile sets on the masking
        engine
      operationId: getProfileSetUsage
      parameters:
        - name: includeAssignmentDetail
          in: query
          description: >-
            Whether to include extended, human-readable profile set assignment
            detail in the report.
          required: true
          schema:
            type: boolean
            default: false
        - name: profileSetType
          in: query
          description: >-
            Whether to filter by specific profile set type. If not specified,
            all profile set types are included.
          required: false
          schema:
            type: string
            enum:
              - ASDD
              - LEGACY
        - name: connectorType
          in: query
          description: >-
            Whether to filter by specific connector type. If not specified, all
            connector types are included.
          required: false
          schema:
            type: string
            enum:
              - DATABASE
              - FILE
              - MAINFRAME
        - name: environmentFilter
          in: query
          description: Report only usage occurring within the specified environment(s).
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: profileSetFilter
          in: query
          description: Report only usage of the specified profile set(s).
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileSetUsageList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerProfileSetsController
      x-contentType: application/json
      x-accepts: application/json
  /profile-results-database/{executionId}:
    get:
      tags:
        - profileResultDatabase
      summary: Get profile report by executionId
      description: Get profile results by executionId
      operationId: getProfileResultsDatabaseByExecutionId
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution
          required: true
          schema:
            type: integer
            format: int32
        - name: sort_by
          in: query
          description: Sort by field.
          schema:
            type: string
            enum:
              - algorithmName
              - columnName
              - domainName
              - tableName
        - name: sort_dir
          in: query
          description: Sort direction.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithms. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileResultDatabaseList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileResultsDatabaseController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfilerResultDatabaseConverter
      x-operator-class: com.dmsuite.manager.ProfilerResultDatabaseManager
      x-validator-class: com.dmsuite.web.validators.ProfilerResultDatabaseValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: PROFILE_RESULT
      x-contentType: application/json
      x-accepts: application/json
  /profile-results-database/search: {}
  /profile-results-file/{executionId}:
    get:
      tags:
        - profileResultFile
      summary: Get profile file report by executionId
      description: Get profile file results by executionId
      operationId: getProfileResultsFileByExecutionId
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution
          required: true
          schema:
            type: integer
            format: int32
        - name: sort_by
          in: query
          description: Sort by field.
          schema:
            type: string
            enum:
              - algorithmName
              - domainName
              - fieldName
              - fileName
        - name: sort_dir
          in: query
          description: Sort direction.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithms. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileResultFileList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileResultsFileController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfilerResultFileConverter
      x-operator-class: com.dmsuite.manager.ProfilerResultFileManager
      x-validator-class: com.dmsuite.web.validators.ProfilerResultFileValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: PROFILE_RESULT
      x-contentType: application/json
      x-accepts: application/json
  /profile-results-file/search: {}
  /profile-results-mainframe/{executionId}:
    get:
      tags:
        - profileResultMainframe
      summary: Get profile mainframe report by executionId
      description: Get profile mainframe results by executionId
      operationId: getProfileResultsMainframeByExecutionId
      parameters:
        - name: executionId
          in: path
          description: The ID of the execution
          required: true
          schema:
            type: integer
            format: int32
        - name: sort_by
          in: query
          description: Sort by field.
          schema:
            type: string
            enum:
              - algorithmName
              - domainName
              - fieldName
              - fileName
        - name: sort_dir
          in: query
          description: Sort direction.
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: page_number
          in: query
          description: >-
            The page number for which to get algorithms. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting property if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileResultMainframeList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenProfileResultsMainframeController
      x-converter-class: com.dmsuite.web.swagger.converter.ProfilerResultMainframeConverter
      x-operator-class: com.dmsuite.manager.ProfilerResultMainframeManager
      x-validator-class: com.dmsuite.web.validators.ProfilerResultMainframeValidator
      x-audit-action-type: GET
      x-audit-ignore-return: true
      x-audit-target: PROFILE_RESULT
      x-contentType: application/json
      x-accepts: application/json
  /profile-results-mainframe/search: {}
  /record-types:
    get:
      tags:
        - recordType
      summary: Get all record type
      operationId: getAllRecordTypes
      parameters:
        - name: file_format_id
          in: query
          description: The ID of the file format whose record types to get.
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get record type. This will default to
            the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordTypeList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeConverter
      x-operator-class: com.dmsuite.manager.RecordTypeManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - recordType
      summary: Create record type
      operationId: createRecordType
      parameters:
        - name: file_reference_id
          in: query
          description: >-
            The reference URI of the uploaded file to be installed. This file
            should have been uploaded via the /fileUpload endpoint.
          required: true
          schema:
            type: string
      requestBody:
        description: The record type to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordType'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordType'
        '403':
          description: Forbidden access
        '409':
          description: Conflict
      x-swagger-router-controller: GenRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeConverter
      x-operator-class: com.dmsuite.manager.RecordTypeManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /record-types/search: {}
  /record-types/{recordTypeId}:
    get:
      tags:
        - recordType
      summary: Get record type by ID
      operationId: getRecordTypeById
      parameters:
        - name: recordTypeId
          in: path
          description: The ID of the record type to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordType'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeConverter
      x-operator-class: com.dmsuite.manager.RecordTypeManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeValidator
      x-audit-action-type: GET
      x-audit-target: RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - recordType
      summary: Update record type
      operationId: updateRecordType
      parameters:
        - name: recordTypeId
          in: path
          description: 'The ID of the record type '
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The record type to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordType'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordType'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeConverter
      x-operator-class: com.dmsuite.manager.RecordTypeManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - recordType
      summary: Delete record type by ID
      operationId: deleteRecordType
      parameters:
        - name: recordTypeId
          in: path
          description: The ID of the record type to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRecordTypesController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeConverter
      x-operator-class: com.dmsuite.manager.RecordTypeManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeValidator
      x-audit-action-type: DELETE
      x-audit-getter: getRecordTypeById
      x-audit-target: RECORD_TYPE
      x-contentType: application/json
      x-accepts: application/json
  /record-type-qualifiers:
    get:
      tags:
        - recordTypeQualifier
      summary: Get all record type qualifiers
      operationId: getAllRecordTypeQualifiers
      parameters:
        - name: record_type_id
          in: query
          description: The ID of the record type whose record type qualifiers to get.
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get record type qualifiers. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordTypeQualifierList'
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenRecordTypeQualifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeQualifierConverter
      x-operator-class: com.dmsuite.manager.RecordTypeQualifierManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeQualifierValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: RECORD_TYPE_QUALIFIER
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - recordTypeQualifier
      summary: Create record type qualifier
      operationId: createRecordTypeQualifier
      requestBody:
        description: The record type qualifier to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordTypeQualifier'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordTypeQualifier'
        '403':
          description: Forbidden access
        '409':
          description: Conflict
      x-swagger-router-controller: GenRecordTypeQualifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeQualifierConverter
      x-operator-class: com.dmsuite.manager.RecordTypeQualifierManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeQualifierValidator
      x-manager-needs-user: true
      x-audit-action-type: CREATE
      x-audit-target: RECORD_TYPE_QUALIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /record-type-qualifiers/{recordTypeQualifierId}:
    get:
      tags:
        - recordTypeQualifier
      summary: Get record type qualifier by ID
      operationId: getRecordTypeQualifierById
      parameters:
        - name: recordTypeQualifierId
          in: path
          description: The ID of the record type qualifier to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordTypeQualifier'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRecordTypeQualifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeQualifierConverter
      x-operator-class: com.dmsuite.manager.RecordTypeQualifierManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeQualifierValidator
      x-audit-action-type: GET
      x-audit-target: RECORD_TYPE_QUALIFIER
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - recordTypeQualifier
      summary: Update record type qualifier by ID
      operationId: updateRecordTypeQualifier
      parameters:
        - name: recordTypeQualifierId
          in: path
          description: The ID of the record type qualifier to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The record type qualifier body to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordTypeQualifier'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordTypeQualifier'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRecordTypeQualifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeQualifierConverter
      x-operator-class: com.dmsuite.manager.RecordTypeQualifierManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeQualifierValidator
      x-audit-action-type: EDIT
      x-audit-target: RECORD_TYPE_QUALIFIER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - recordTypeQualifier
      summary: Delete record type qualifier by ID
      operationId: deleteRecordTypeQualifier
      parameters:
        - name: recordTypeQualifierId
          in: path
          description: The ID of the record type qualifier to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRecordTypeQualifiersController
      x-converter-class: com.dmsuite.web.swagger.converter.RecordTypeQualifierConverter
      x-operator-class: com.dmsuite.manager.RecordTypeQualifierManager
      x-validator-class: com.dmsuite.web.validators.RecordTypeQualifierValidator
      x-audit-action-type: DELETE
      x-audit-getter: getRecordTypeQualifierById
      x-audit-target: RECORD_TYPE_QUALIFIER
      x-contentType: application/json
      x-accepts: application/json
  /reidentification-jobs:
    get:
      tags:
        - reidentificationJob
      summary: Get all re-identification jobs
      operationId: getAllReidentificationJobs
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get re-identification jobs. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all re-identification jobs from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReidentificationJobList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenReidentificationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ReidentificationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: REIDENTIFICATION_JOB
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - reidentificationJob
      summary: Create re-identification job
      operationId: createReidentificationJob
      requestBody:
        description: The re-identification job to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReidentificationJob'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReidentificationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenReidentificationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ReidentificationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: CREATE
      x-audit-target: REIDENTIFICATION_JOB
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /reidentification-jobs/{reidentificationJobId}:
    get:
      tags:
        - reidentificationJob
      summary: Get re-identification job by ID
      operationId: getReidentificationJobById
      parameters:
        - name: reidentificationJobId
          in: path
          description: The ID of the re-identification job to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReidentificationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenReidentificationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ReidentificationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET
      x-audit-target: REIDENTIFICATION_JOB
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - reidentificationJob
      summary: Update re-identification job by ID
      operationId: updateReidentificationJob
      parameters:
        - name: reidentificationJobId
          in: path
          description: The ID of the re-identification job to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated re-identification job
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReidentificationJob'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReidentificationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenReidentificationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ReidentificationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: EDIT
      x-audit-target: REIDENTIFICATION_JOB
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - reidentificationJob
      summary: Delete re-identification job by ID
      operationId: deleteReidentificationJob
      parameters:
        - name: reidentificationJobId
          in: path
          description: The ID of the re-identification job to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenReidentificationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.ReidentificationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: DELETE
      x-audit-getter: getReidentificationJobById
      x-audit-target: REIDENTIFICATION_JOB
      x-contentType: application/json
      x-accepts: application/json
  /roles:
    get:
      tags:
        - role
      summary: Get all roles
      operationId: getAllRoles
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get roles. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: GenRolesController
      x-converter-class: com.dmsuite.web.swagger.converter.RoleConverter
      x-operator-class: com.dmsuite.manager.RoleManager
      x-validator-class: com.dmsuite.web.validators.RoleValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: ROLE
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - role
      summary: Create role
      operationId: createRole
      requestBody:
        description: The role to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenRolesController
      x-converter-class: com.dmsuite.web.swagger.converter.RoleConverter
      x-operator-class: com.dmsuite.manager.RoleManager
      x-validator-class: com.dmsuite.web.validators.RoleValidator
      x-audit-action-type: CREATE
      x-audit-target: ROLE
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /roles/{roleId}:
    get:
      tags:
        - role
      summary: Get role by ID
      operationId: getRoleById
      parameters:
        - name: roleId
          in: path
          description: The ID of the role to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenRolesController
      x-converter-class: com.dmsuite.web.swagger.converter.RoleConverter
      x-operator-class: com.dmsuite.manager.RoleManager
      x-validator-class: com.dmsuite.web.validators.RoleValidator
      x-audit-action-type: GET
      x-audit-target: ROLE
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - role
      summary: Update role by ID
      operationId: updateRole
      parameters:
        - name: roleId
          in: path
          description: The ID of the role to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated role
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Role'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Role'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenRolesController
      x-converter-class: com.dmsuite.web.swagger.converter.RoleConverter
      x-operator-class: com.dmsuite.manager.RoleManager
      x-validator-class: com.dmsuite.web.validators.RoleValidator
      x-audit-action-type: EDIT
      x-audit-target: ROLE
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - role
      summary: Delete role by ID
      operationId: deleteRole
      parameters:
        - name: roleId
          in: path
          description: The ID of the role to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenRolesController
      x-converter-class: com.dmsuite.web.swagger.converter.RoleConverter
      x-operator-class: com.dmsuite.manager.RoleManager
      x-validator-class: com.dmsuite.web.validators.RoleValidator
      x-audit-action-type: DELETE
      x-audit-getter: getRoleById
      x-audit-target: ROLE
      x-contentType: application/json
      x-accepts: application/json
  /roles/search: {}
  /ruleset-details/{rulesetId}: {}
  /ruleset-details/{environmentId}/search: {}
  /jobs/{environmentId}/search: {}
  /ssh-keys:
    get:
      tags:
        - sshKey
      summary: Get all SSH keys
      operationId: getAllSshKeys
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SshKey'
      x-swagger-router-controller: GenSshKeysController
      x-converter-class: com.dmsuite.web.swagger.converter.SshKeyConverter
      x-operator-class: com.dmsuite.common.utils.SshKeyUtil
      x-validator-class: com.dmsuite.web.validators.SshKeyValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: SSH_KEY
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - sshKey
      summary: Create SSH key
      description: >-
        WARNING: The generated curl command is incorrect, so please refer to the
        Masking API guide for instructions on how to upload files through the
        API
      operationId: createSshKey
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SshKeyBody'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKey'
        '401':
          description: Unauthorized access
        '409':
          description: Conflict
      x-swagger-router-controller: GenSshKeysController
      x-converter-class: com.dmsuite.web.swagger.converter.SshKeyConverter
      x-operator-class: com.dmsuite.common.utils.SshKeyUtil
      x-validator-class: com.dmsuite.web.validators.SshKeyValidator
      x-audit-action-type: CREATE
      x-audit-target: SSH_KEY
      x-contentType: multipart/form-data
      x-accepts: application/json
  /ssh-keys/{sshKeyName}:
    delete:
      tags:
        - sshKey
      summary: Delete SSH key by name
      operationId: deleteSshKey
      parameters:
        - name: sshKeyName
          in: path
          description: The name of the SSH key to delete
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '401':
          description: Unauthorized access
        '404':
          description: Not found
      x-swagger-router-controller: GenSshKeysController
      x-converter-class: com.dmsuite.web.swagger.converter.SshKeyConverter
      x-operator-class: com.dmsuite.common.utils.SshKeyUtil
      x-validator-class: com.dmsuite.web.validators.SshKeyValidator
      x-audit-action-type: DELETE
      x-audit-getter: getSshKeyById
      x-audit-target: SSH_KEY
      x-contentType: application/json
      x-accepts: application/json
  /sso/is-sso-ready: {}
  /support-bundle:
    post:
      tags:
        - supportBundle
      summary: Generates support bundle
      description: Generates support bundle
      operationId: getSupportBundle
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTask'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerSupportBundleController
      x-validator-class: com.dmsuite.web.validators.SupportBundleValidator
      x-contentType: application/json
      x-accepts: application/json
  /syncable-objects:
    get:
      tags:
        - sync
      summary: Get all syncable objects
      description: Get all syncable objects
      operationId: getAllSyncableObjects
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get syncable objects. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: object_type
          in: query
          description: The type of syncable object to filter for
          schema:
            type: string
            enum:
              - ALGORITHM_PLUGIN
              - APPLICATION_SETTINGS
              - CLASSIFIER
              - CREDENTIAL_PATH
              - DATABASE_CONNECTOR
              - DATABASE_RULESET
              - DATASET_CONNECTOR
              - DATASET_RULESET
              - DATASET_FORMAT
              - DATA_TABLE
              - DOMAIN
              - DRIVER_SUPPORT_PLUGIN
              - ENVIRONMENT
              - FILE_CONNECTOR
              - FILE_FORMAT
              - FILE_RULESET
              - GLOBAL_OBJECT
              - JDBC_DRIVER
              - KEY
              - LICENSE_INFO
              - MASKING_JOB
              - MOUNT_INFORMATION
              - PASSWORD_VAULT
              - PROFILE_JOB
              - PROFILE_SET
              - REIDENTIFICATION_JOB
              - TOKENIZATION_JOB
              - USER_ALGORITHM
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportObjectMetadataList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SyncableObjectsController
      x-converter-class: com.dmsuite.web.swagger.converter.ExportObjectMetadataConverter
      x-contentType: application/json
      x-accepts: application/json
  /syncable-objects/environments/{environmentId}:
    get:
      tags:
        - sync
      summary: Get syncable object for environment
      description: Get syncable object for environment
      operationId: getSyncableObjectByEnvironmentId
      parameters:
        - name: environmentId
          in: path
          description: The ID of the environment to retrieve syncable object of
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportObjectMetadataList'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
      x-swagger-router-controller: com.dmsuite.web.swagger.SyncableObjectsController
      x-converter-class: com.dmsuite.web.swagger.converter.ExportObjectMetadataConverter
      x-contentType: application/json
      x-accepts: application/json
  /system-information:
    get:
      tags:
        - systemInformation
      summary: Get system information
      operationId: getSystemInformation
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemInformation'
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerSystemInformationController
      x-contentType: application/json
      x-accepts: application/json
  /table-metadata:
    get:
      tags:
        - tableMetadata
      summary: Get all table metadata
      operationId: getAllTableMetadata
      parameters:
        - name: ruleset_id
          in: query
          description: The ID of the ruleset to get all table metadata from
          schema:
            type: integer
            format: int32
        - name: page_number
          in: query
          description: >-
            The page number for which to get table metadata. This will default
            to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: is_masked
          in: query
          description: >-
            Get only masked table metadata when this is true, only unmasked
            column metadata when this is false and leaving this blank will get
            all tables
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableMetadataList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTableMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.TableMetadataConverter
      x-operator-class: com.dmsuite.manager.TableMetadataManager
      x-validator-class: com.dmsuite.web.validators.TableMetadataValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: TABLE_METADATA
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - tableMetadata
      summary: Create table metadata
      operationId: createTableMetadata
      requestBody:
        description: The table metadata to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableMetadata'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenTableMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.TableMetadataConverter
      x-operator-class: com.dmsuite.manager.TableMetadataManager
      x-validator-class: com.dmsuite.web.validators.TableMetadataValidator
      x-audit-action-type: CREATE
      x-audit-target: TABLE_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /table-metadata-all/keyColumn: {}
  /table-metadata-all/whereClause: {}
  /table-metadata/search: {}
  /table-metadata/{tableMetadataId}:
    get:
      tags:
        - tableMetadata
      summary: Get table metadata by ID
      operationId: getTableMetadataById
      parameters:
        - name: tableMetadataId
          in: path
          description: The ID of the table metadata to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableMetadata'
        '400':
          description: Bad request
        '404':
          description: Not found
      x-swagger-router-controller: GenTableMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.TableMetadataConverter
      x-operator-class: com.dmsuite.manager.TableMetadataManager
      x-validator-class: com.dmsuite.web.validators.TableMetadataValidator
      x-audit-action-type: GET
      x-audit-target: TABLE_METADATA
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - tableMetadata
      summary: Update table metadata by ID
      operationId: updateTableMetadata
      parameters:
        - name: tableMetadataId
          in: path
          description: The ID of the table metadata to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: >-
          Adding a filter to the table will remove the table's existing custom
          SQL, and vice versa.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableMetadata'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableMetadata'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTableMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.TableMetadataConverter
      x-operator-class: com.dmsuite.manager.TableMetadataManager
      x-validator-class: com.dmsuite.web.validators.TableMetadataValidator
      x-audit-action-type: EDIT
      x-audit-target: TABLE_METADATA
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - tableMetadata
      summary: Delete table metadata by ID
      operationId: deleteTableMetadata
      parameters:
        - name: tableMetadataId
          in: path
          description: The ID of the table metadata to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTableMetadataController
      x-converter-class: com.dmsuite.web.swagger.converter.TableMetadataConverter
      x-operator-class: com.dmsuite.manager.TableMetadataManager
      x-validator-class: com.dmsuite.web.validators.TableMetadataValidator
      x-audit-action-type: DELETE
      x-audit-getter: getTableMetadataById
      x-audit-target: TABLE_METADATA
      x-contentType: application/json
      x-accepts: application/json
  /table-metadata/{tableMetadataId}/generateCustomSQL:
    get:
      tags:
        - tableMetadata
      summary: Generate customSQL for table
      operationId: generateCustomSQL
      parameters:
        - name: tableMetadataId
          in: path
          description: The ID of the table for which customSQL has to be generated
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableMetadataCustomSQL'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerGenerateCustomSQLController
      x-disable-code-generation: true
      x-contentType: application/json
      x-accepts: application/json
  /tokenization-jobs:
    get:
      tags:
        - tokenizationJob
      summary: Get all tokenization jobs
      operationId: getAllTokenizationJobs
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get tokenization jobs. This will
            default to the first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
        - name: environment_id
          in: query
          description: The ID of the environment to get all tokenization jobs from
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenizationJobList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTokenizationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.TokenizationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: TOKENIZATION_JOB
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - tokenizationJob
      summary: Create tokenization job
      operationId: createTokenizationJob
      requestBody:
        description: The tokenization job to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenizationJob'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenizationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: GenTokenizationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.TokenizationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: CREATE
      x-audit-target: TOKENIZATION_JOB
      x-manager-needs-user: true
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /tokenization-jobs/{tokenizationJobId}:
    get:
      tags:
        - tokenizationJob
      summary: Get tokenization job by ID
      operationId: getTokenizationJobById
      parameters:
        - name: tokenizationJobId
          in: path
          description: The ID of the tokenization job to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenizationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTokenizationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.TokenizationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: GET
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - tokenizationJob
      summary: Update tokenization job by ID
      operationId: updateTokenizationJob
      parameters:
        - name: tokenizationJobId
          in: path
          description: The ID of the tokenization job to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated tokenization job
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenizationJob'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenizationJob'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTokenizationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.TokenizationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: EDIT
      x-audit-target: ENVIRONMENT
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - tokenizationJob
      summary: Delete tokenization job by ID
      operationId: deleteTokenizationJob
      parameters:
        - name: tokenizationJobId
          in: path
          description: The ID of the tokenization job to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: GenTokenizationJobsController
      x-converter-class: com.dmsuite.web.swagger.converter.TokenizationJobConverter
      x-operator-class: com.dmsuite.manager.JobManager
      x-validator-class: com.dmsuite.web.validators.JobValidator
      x-audit-action-type: DELETE
      x-audit-getter: getTokenizationJobById
      x-audit-target: TOKENIZATION_JOB
      x-contentType: application/json
      x-accepts: application/json
  /job-utilization-report: {}
  /users:
    get:
      tags:
        - user
      summary: Get all users
      operationId: getAllUsers
      parameters:
        - name: page_number
          in: query
          description: >-
            The page number for which to get users. This will default to the
            first page if excluded
          schema:
            type: integer
            format: int64
            default: 1
        - name: page_size
          in: query
          description: >-
            The maximum number of objects to return. This will default to the
            DefaultApiPageSize setting if not provided
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserList'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerUsersController
      x-converter-class: com.dmsuite.web.swagger.converter.UserConverter
      x-operator-class: com.dmsuite.manager.UserManager
      x-validator-class: com.dmsuite.web.validators.UserValidator
      x-manager-needs-user: true
      x-audit-action-type: GET_ALL
      x-audit-ignore-return: true
      x-audit-target: USER
      x-contentType: application/json
      x-accepts: application/json
    post:
      tags:
        - user
      summary: Create user
      operationId: createUser
      requestBody:
        description: The user to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad request
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerUsersController
      x-converter-class: com.dmsuite.web.swagger.converter.UserConverter
      x-operator-class: com.dmsuite.manager.UserManager
      x-validator-class: com.dmsuite.web.validators.UserValidator
      x-audit-action-type: CREATE
      x-audit-target: USER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
  /users/{userId}:
    get:
      tags:
        - user
      summary: Get user by ID
      operationId: getUserById
      parameters:
        - name: userId
          in: path
          description: The ID of the user to get
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerUsersController
      x-converter-class: com.dmsuite.web.swagger.converter.UserConverter
      x-operator-class: com.dmsuite.manager.UserManager
      x-validator-class: com.dmsuite.web.validators.UserValidator
      x-audit-action-type: GET
      x-audit-target: USER
      x-contentType: application/json
      x-accepts: application/json
    put:
      tags:
        - user
      summary: Update user by ID
      operationId: updateUserById
      parameters:
        - name: userId
          in: path
          description: The ID of the user to update
          required: true
          schema:
            type: integer
            format: int32
      requestBody:
        description: The updated user
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/User'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
        '409':
          description: Conflict
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerUsersController
      x-converter-class: com.dmsuite.web.swagger.converter.UserConverter
      x-operator-class: com.dmsuite.manager.UserManager
      x-validator-class: com.dmsuite.web.validators.UserValidator
      x-manager-needs-user: true
      x-audit-action-type: EDIT
      x-audit-target: USER
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: body
    delete:
      tags:
        - user
      summary: Delete user by ID
      operationId: deleteUserById
      parameters:
        - name: userId
          in: path
          description: The ID of the user to delete
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
        '400':
          description: Bad request
        '401':
          description: Unauthorized access
        '403':
          description: Forbidden access
        '404':
          description: Not found
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerUsersController
      x-converter-class: com.dmsuite.web.swagger.converter.UserConverter
      x-operator-class: com.dmsuite.manager.UserManager
      x-validator-class: com.dmsuite.web.validators.UserValidator
      x-audit-action-type: DELETE
      x-audit-getter: getUserById
      x-audit-target: USER
      x-contentType: application/json
      x-accepts: application/json
  /users/forgot-password:
    post:
      tags:
        - user
      summary: Send Reset password mail to the user
      operationId: forgottenPasswordRequest
      requestBody:
        description: The username for which password has to be reset
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForgotPassword'
        required: true
      responses:
        '200':
          description: Password reset email sent!
        '400':
          description: Bad request
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerForgotPasswordController
      x-operator-class: 'com.dmsuite.manager.ForgottenPasswordManager '
      x-validator-class: com.dmsuite.web.validators.ForgotPasswordValidator
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: ForgotPassword
  /users/properties: {}
  /users/reset-password:
    post:
      tags:
        - user
      summary: Reset new password for the user
      operationId: resetPasswordRequest
      requestBody:
        description: Reset password for user using token received on e-mail
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetPassword'
        required: true
      responses:
        '200':
          description: Password successfully updated!
        '400':
          description: Bad request
      x-swagger-router-controller: com.dmsuite.web.swagger.SwaggerForgotPasswordController
      x-validator-class: com.dmsuite.web.validators.ForgotPasswordValidator
      x-contentType: application/json
      x-accepts: application/json
      x-codegen-request-body-name: ResetPassword
  /users/search: {}
  /user-info: {}
components:
  schemas:
    Algorithm:
      required:
        - algorithmName
        - algorithmType
      type: object
      properties:
        algorithmName:
          maxLength: 201
          type: string
          description: >-
            Equivalent to the algorithm name saved by the user through the GUI.
            For out of the box algo, this represents algorithm code.
        legacyName:
          maxLength: 201
          type: string
          description: This represents algorithm name shown on the UI.
          readOnly: true
        algorithmType:
          type: string
          description: The type of algorithm
          enum:
            - BINARY_LOOKUP
            - CLEANSING
            - COMPONENT
            - CUSTOM_ALGORITHM
            - DATE
            - LOOKUP
            - MAPPING
            - MINMAX
            - MISC
            - REDACTION
            - SEGMENT
            - TOKENIZATION
          default: COMPONENT
        canReturnNull:
          type: boolean
          description: Whether or not the algorithm can return null values
          readOnly: false
        createdBy:
          maxLength: 255
          type: string
          description: The name of the user that created the algorithm
          readOnly: true
        description:
          type: string
          description: The description of the algorithm
        maskType:
          type: string
          description: The masking type of the algorithm
          readOnly: true
        isTokenizationSupported:
          type: boolean
          description: >-
            Whether or not the algorithm can be used with tokenization and
            reidentification job
          readOnly: true
        frameworkId:
          type: integer
          description: The algorithm framework id
          format: int64
        frameworkName:
          type: string
          description: The algorithm framework name
          readOnly: true
        jsonConfigurable:
          type: boolean
          description: The algorithm is json Configurable or not.
          readOnly: true
        pluginId:
          type: integer
          description: >-
            The id, if applicable, of the plugin that supplies this algorithm or
            the framework this algorithm is built on
          format: int64
          readOnly: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/AlgorithmField'
        algorithmExtension:
          type: object
          properties: {}
        isConfigInvalid:
          type: boolean
          description: Whether or not the configuration in algorithmExtension is invalid
          readOnly: true
      example:
        algorithmName: SimpleMaskingAlgorithm
        algorithmType: COMPONENT
        description: >-
          This is a simple algorithm that serves as an example for the API. The
          frameworkId value may vary by engine.
        pluginId: 7
        frameworkId: 3
        algorithmExtension:
          lookupFile:
            uri: >-
              delphix-file://upload/f_a0c6c02dac4a4303a26ea5418fb72d5b/example.txt
    AlgorithmExtension:
      type: object
      discriminator:
        propertyName: algorithmExtension
    AlgorithmFramework:
      type: object
      properties:
        frameworkId:
          type: integer
          description: The id of the algorithm framework installed using Plugin API.
          format: int64
          readOnly: true
        frameworkName:
          maxLength: 255
          type: string
          description: The name of the algorithm framework installed using Plugin API.
        frameworkType:
          type: string
          description: The type of value this algorithm framework masks.
          enum:
            - BIG_DECIMAL
            - LOCAL_DATE_TIME
            - STRING
            - BYTE_BUFFER
            - GENERIC_DATA_ROW
            - ADVANCED_OBJECT
        description:
          type: string
          description: The description of the algorithm framework
        plugin:
          $ref: '#/components/schemas/PluginBase'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/AlgorithmField'
        extensionSchema:
          type: object
          properties: {}
          description: The JSON schema of algorithmExtension used by this framework
      example:
        frameworkId: 1
        frameworkName: MinMax
        frameworkType: STRING
        plugin:
          pluginId: 1
          pluginName: myPlugin
          pluginAuthor: pluginAuthor
    AlgorithmFrameworkList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/AlgorithmFramework'
    AlgorithmList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Algorithm'
    AlgorithmIdentifier:
      allOf:
        - $ref: '#/components/schemas/ObjectIdentifier'
        - required:
            - algorithmName
          type: object
          properties:
            algorithmName:
              maxLength: 201
              type: string
    AlgorithmValidation:
      required:
        - message
        - validationSucceeded
      type: object
      properties:
        validationSucceeded:
          type: boolean
          description: Whether or not the validation was successful
          readOnly: true
        message:
          type: string
          description: The message providing more details about the validation
          readOnly: true
      example:
        validationSucceeded: true
        message: Algorithm validation successful
    AlgorithmAssignmentDetail:
      required:
        - assignmentType
      type: object
      properties:
        assignmentType:
          type: string
          description: The type of algorithm usage.
          readOnly: true
          enum:
            - DATABASE_COLUMN
            - FILE_FIELD
            - MAINFRAME_DATASET_FIELD
        environmentName:
          type: string
          description: >-
            The environment where the algorithm usage occurs, if any. For file
            and dataset usage, this will return only one of potentially many
            environments where the file format referencing the algorithm is
            applied.
          readOnly: true
        databaseRulesetName:
          type: string
          description: >-
            The database ruleset where the algorithm usage occurs, if
            applicable.
          readOnly: true
        databaseTableName:
          type: string
          description: The database table where the algorithm usage occurs, if applicable.
          readOnly: true
        databaseColumnName:
          type: string
          description: The database column where the algorithm usage occurs, if applicable.
          readOnly: true
        fileRulesetName:
          type: string
          description: >-
            The name of the file ruleset where the algorithm usage occurs, if
            applicable.
          readOnly: true
        fileName:
          type: string
          description: >-
            The name of the file where the algorithm usage occurs, if
            applicable.
          readOnly: true
        fileFormatName:
          type: string
          description: >-
            The name of the file format where the algorithm usage occurs, if
            applicable.
          readOnly: true
        fileRecordTypeName:
          type: string
          description: >-
            The name of the file record type where the algorithm usage occurs,
            if applicable.
          readOnly: true
        fileFieldName:
          type: string
          description: >-
            The name of the file field where the algorithm usage occurs, if
            applicable
          readOnly: true
        mainframeDatasetRulesetName:
          type: string
          description: >-
            The name of the mainframe dataset ruleset where the algorithm usage
            occurs, if applicable.
          readOnly: true
        mainframeDatasetFileName:
          type: string
          description: >-
            The name of the mainframe dataset file where the algorithm usage
            occurs, if applicable.
          readOnly: true
        mainframeDatasetFormatName:
          type: string
          description: >-
            The name of the mainframe dataset format where the algorithm usage
            occurs, if applicable.
          readOnly: true
        mainframeDatasetRecordTypeName:
          type: string
          description: >-
            The name of the mainframe dataset record type where the algorithm
            usage occurs, if applicable.
          readOnly: true
        mainframeDatasetFieldName:
          type: string
          description: >-
            The name of t(he mainframe dataset field where the algorithm usage
            occurs, if applicable.
          readOnly: true
    AlgorithmMigration:
      required:
        - algorithmName
        - frameworkId
      type: object
      properties:
        algorithmName:
          maxLength: 201
          type: string
          description: The name of the algorithm that supports migration
          readOnly: true
        frameworkId:
          type: integer
          description: >-
            The frameworkId of the framework to which this algorithm can be
            migrated
          format: int64
          readOnly: true
      example:
        algorithmName: My Mapping Algorithm
        frameworkId: 7
    AlgorithmMigrationList:
      type: object
      properties:
        availableMigrations:
          type: array
          items:
            $ref: '#/components/schemas/AlgorithmMigration'
    AlgorithmUsageReport:
      required:
        - algorithmName
      type: object
      properties:
        algorithmName:
          type: string
          description: The name of the algorithm to which this usage report applies.
          readOnly: true
        algorithmMaskingType:
          type: string
          description: >-
            The type of value this algorithm masks. This value is only available
            for algorithms based on the Algorithm Extensibility Framework.
          readOnly: true
          enum:
            - BIG_DECIMAL
            - LOCAL_DATE_TIME
            - STRING
            - BYTE_BUFFER
            - GENERIC_DATA_ROW
            - ADVANCED_OBJECT
        columnMetadataIds:
          type: array
          description: >-
            A list of the IDs of all columnMetadata objects that reference the
            algorithm.
          items:
            type: integer
            format: int64
        fileFieldMetadataIds:
          type: array
          description: >-
            A list of the IDs of all fileFieldMetadata objects that reference
            the algorithm.
          items:
            type: integer
            format: int64
        mainframeDatasetFieldMetadataIds:
          type: array
          description: >-
            A list of the IDs of all mainframeDatasetFieldMetadata objects that
            reference the algorithm.
          items:
            type: integer
            format: int64
        environmentIds:
          type: array
          description: A list of the IDs of all environments where the algorithm is used.
          items:
            type: integer
            format: int64
        rulesetIds:
          type: array
          description: A list of the IDs of all rulesets where the algorithm is used.
          items:
            type: integer
            format: int64
        domainNames:
          type: array
          description: A list of the names of all domains that reference the algorithm.
          items:
            type: string
        algorithmReferences:
          type: array
          description: >-
            A list of the names of all other algorithms contain references to
            this algorithm.
          items:
            type: string
        assignmentDetails:
          type: array
          description: >-
            A extended usage objects that describe the full path to each
            algorithm usage for all column, file and mainframe dataset
            assignments.
          items:
            $ref: '#/components/schemas/AlgorithmAssignmentDetail'
    Application:
      required:
        - applicationName
      type: object
      properties:
        applicationId:
          type: integer
          description: >-
            The ID of the application. This will be generated by the Masking
            Engine.
          format: int32
          readOnly: true
        applicationName:
          maxLength: 100
          type: string
          description: The name of this Application. Note that it must be unique.
      example:
        applicationName: App123
    ApplicationList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Application'
    ApplicationSettings:
      required:
        - settingValue
      type: object
      properties:
        settingId:
          type: integer
          description: The ID of the application setting
          format: int32
          readOnly: true
        settingGroup:
          maxLength: 255
          type: string
          description: Application setting group
          readOnly: true
        settingName:
          maxLength: 255
          type: string
          description: Application setting available per group
          readOnly: true
        settingValue:
          maxLength: 255
          type: string
          description: Value for an application setting
          x-is-sensitive: true
        valueType:
          type: string
          description: Type of the value
          readOnly: true
          enum:
            - string
            - boolean
            - number
            - regular-expression
      example:
        settingValue: 'true'
    ApplicationSettingsList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationSettings'
    AsyncTask:
      type: object
      properties:
        asyncTaskId:
          type: integer
          description: >-
            The ID of the AsyncTask. This field will be generated by the Masking
            Engine.
          format: int32
          readOnly: true
        operation:
          type: string
          description: The type of operation that the AsyncTask is performing.
          readOnly: true
          enum:
            - ADD_MAPPINGS
            - ALGORITHM_CREATE
            - ALGORITHM_MIGRATE
            - ALGORITHM_UPDATE
            - DATAFILE_BULK_UPDATE
            - ENCRYPTION_KEY_CREATE
            - EXPORT
            - EXPORT_CLASSIFIER_FILES
            - EXPORT_MAPPINGS
            - EXPORT_PROFILE_SET
            - EXPORT_SL_VALUES
            - GENERATE_EXECUTION_INVENTORY
            - IMPORT
            - RULESET_REFRESH
            - TABLE_BULK_UPDATE
            - MAINFRAME_DATASET_BULK_UPDATE
            - SUPPORT_BUNDLE_GENERATE
        reference:
          maxLength: 255
          type: string
          description: >-
            The reference for the AsyncTask. An example of a reference is the
            ruleset ID for a RULESET_REFRESH operation.
          readOnly: true
        status:
          type: string
          description: The status of the AsyncTask in regard to its completion.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - RUNNING
            - SUCCEEDED
            - WAITING
        startTime:
          type: string
          description: The date and time that this AsyncTask was started.
          format: date-time
          readOnly: true
        endTime:
          type: string
          description: The date and time that this AsyncTask completed.
          format: date-time
          readOnly: true
        cancellable:
          type: boolean
          description: True if the AsyncTask can be cancelled, false otherwise.
          readOnly: true
        exceptionDetail:
          type: string
          description: >-
            The details associated with the Java exception that caused this
            async task to fail, if applicable.
          readOnly: true
      example:
        asyncTaskId: 1
        operation: RULESET_REFRESH
        reference: 13
        status: RUNNING
        cancellable: false
    AsyncTaskList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/AsyncTask'
    AuditLog:
      type: object
      properties:
        auditId:
          type: integer
          description: >-
            The ID of the Audit Log. This field will be generated by the Masking
            Engine.
          format: int32
        userName:
          maxLength: 1000
          type: string
          description: The name for the user that took the action for this entry.
        activityDescription:
          maxLength: 1000
          type: string
          description: >-
            A description of the action that occurred for this Audit Log entry.
            This will usually include the user friendly names of the involved
            objects.
        activityTime:
          type: string
          description: The date and time that the action for this Audit Log entry occurred.
          format: date-time
        actionType:
          type: string
          description: The type of action that occurred for this Audit Log entry.
          enum:
            - CANCEL
            - CREATE
            - CONNECT
            - CONFIG_INSTALL
            - DELETE
            - DISCONNECT
            - EDIT
            - EXPORT
            - FORGOT_PASSWORD
            - GET
            - GET_ALL
            - IMPORT
            - LOCK
            - DISABLE
            - LOGIN
            - LOGOUT
            - RESET_PASSWORD
            - RUN
            - TEST
            - UNLOCK
        target:
          type: string
          description: >-
            The type object or operation that the action occurred on for this
            Audit Log entry.
          enum:
            - ALGORITHM
            - ANALYTIC
            - APPLICATION
            - APPLICATION_LOG
            - APPLICATION_SETTING
            - ASYNC_TASK
            - AUDIT_LOG
            - BILLING_PERIOD
            - BILLING_REPORT
            - BILLING_USAGE
            - CLASSIFIER
            - COLUMN_METADATA
            - CREDENTIAL_PATH
            - DATABASE_CONNECTOR
            - DATABASE_RULESET
            - DATABASE_USAGE
            - DATA_TABLE
            - DEBUG_BREAKPOINT
            - DOMAIN
            - ENCRYPTION_KEY
            - ENVIRONMENT
            - EXECUTION
            - EXECUTION_COMPONENT_LOG
            - EXECUTION_EVENT
            - EXECUTION_LOG
            - EXECUTION_REPORT
            - FILE_CONNECTOR
            - FILE_DOWNLOAD
            - FILE_FIELD_METADATA
            - FILE_FORMAT
            - FILE_METADATA
            - FILE_RULESET
            - FILE_UPLOAD
            - INSTALLATION
            - INVENTORY_APPROVAL
            - JDBC_DRIVER
            - JOB_TASK
            - JOB_UTILIZATION_REPORT
            - KNOWLEDGE_BASE_INFO
            - LDAP
            - LICENSE
            - MAINFRAME_DATASET_CONNECTOR
            - MAINFRAME_DATASET_FIELD_METADATA
            - MAINFRAME_DATASET_FORMAT
            - MAINFRAME_DATASET_METADATA
            - MAINFRAME_DATASET_RECORD_TYPE
            - MAINFRAME_DATASET_RULESET
            - MASKING_JOB
            - MONITOR_JOBS_INFORMATION
            - MONITOR_TASK
            - MOUNT_FILESYSTEM
            - NON_CONFORMING_DATA_SAMPLE
            - OAUTH2
            - PASSWORD_VAULT
            - PLUGIN
            - PROFILE_EXPRESSION
            - PROFILE_TYPE_EXPRESSION
            - PROFILE_JOB
            - PROFILE_RESULT
            - PROFILE_SET
            - RECORD_TYPE
            - RECORD_TYPE_QUALIFIER
            - REIDENTIFICATION_JOB
            - ROLE
            - SSH_KEY
            - SSO
            - SUPPORT_BUNDLE
            - SYNCABLE_OBJECT
            - SYSTEM_INFORMATION
            - TABLE_METADATA
            - TASK
            - TOKENIZATION_JOB
            - UNIFIED_AUTH
            - USER
        status:
          type: string
          description: >-
            The status of the action that occurred for this Audit Log entry.
            This can change over time as ATTEMPTED actions are completed.
          enum:
            - ATTEMPTED
            - FAILED
            - SUCCEEDED
        ipAddress:
          maxLength: 45
          type: string
          description: >-
            The IP address of the user who performed the action for this Audit
            Log entry.
      example:
        userName: maskingUser
        activityDescription: Created Database Connector 'con' in Environment 'env'.
        activityTime: 2018-11-06T04:14:46.929+0000
        actionType: CREATE
        target: DATABASE_CONNECTOR
        status: SUCCEEDED
    AuditLogExport:
      type: object
      properties:
        fileName:
          type: string
          description: Name of the file
        encodedData:
          type: string
          description: Base64 encoded string of PDF
      example:
        fileName: Name of the file
        encodedData: Audit log PDF exported in base64 content
    AuditLogList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/AuditLog'
    BinaryLookupExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            fileReferenceIds:
              type: array
              description: >-
                A list of file reference URI values returned from the endpoint
                for uploading files to the Masking Engine.
              items:
                type: string
            latestKeyResetTime:
              type: string
              description: >-
                The last time the algorithm's key was randomized. This changes
                the masked results of the algorithm.
              format: date-time
              readOnly: true
    BillingPeriod:
      type: object
      properties:
        id:
          type: integer
          description: The ID of the predefined billing period.
          format: int32
          readOnly: true
        displayName:
          maxLength: 20
          type: string
          description: The date and time that this execution completed.
          readOnly: true
        startDate:
          type: string
          description: The start date in yyyy-MM-dd format.
          format: date-time
          readOnly: true
        endDate:
          type: string
          description: The end date in yyyy-MM-dd format.
          format: date-time
          readOnly: true
      example:
        id: '1'
        displayName: 2022 Oct - Dec (Q4)
        startDate: '2023-10-01'
        endDate: '2023-12-31'
    BillingPeriodList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/BillingPeriod'
      example:
        _pageInfo:
          numberOnPage: 1
          total: 1
        responseList:
          - id: '1'
            displayName: 2022 Oct - Dec (Q4)
            startDate: '2023-10-01'
            endDate: '2023-12-31'
    ReportFile:
      type: object
      properties:
        fileName:
          type: string
          description: Name of the file
        reportData:
          type: string
          description: The report pdf content as Base64 encoded string
      example:
        fileName: sample.pdf
        encodedData: The report file name
    BillingUsage:
      type: object
      properties:
        databaseIdentifier:
          type: string
          description: >-
            The value of database identifier for uniquely identifying a
            database. The database properties will be colon separated.
        name:
          type: string
          description: Name of the database.
        size:
          type: number
          description: Size of the database in bytes.
        dbType:
          type: string
          description: Type of the database.
        billingPeriod:
          type: string
          description: The display value of billing period.
        failureReason:
          type: string
          description: Reason in case unable to calculate database size.
      example:
        databaseIdentifier: testHost:testServiceName:testDbName
        name: testDbName
        size: 2695200768
        dbType: oracle
        billingPeriod: 2022 Oct - Dec (Q4)
        failureReason: ''
    BillingUsageList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        totalSize:
          type: number
          description: >-
            Total size of the database from list of all database usage. It will
            be in bytes
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/BillingUsage'
      example:
        _pageInfo:
          numberOnPage: 1
          total: 1
        totalSize: 2695200768
        responseList:
          - databaseIdentifier: testHost:testServiceName:testDbName
            name: testDbName
            size: 2695200768
            dbType: oracle
            billingPeriod: 2022 Oct - Dec (Q4)
            failureReason: ''
    BrandingImageFile:
      type: object
      properties:
        fileData:
          type: string
          description: The base64 representation of the file contents.
        fileName:
          type: string
          description: The name of the file.
        fileType:
          type: string
          description: The type of the file.
    CallbackPayload:
      type: object
      properties:
        timestamp:
          type: string
          description: The date and time that this notification was generated.
          format: date-time
        eventName:
          $ref: '#/components/schemas/EventNameEnum'
        context:
          type: object
          additionalProperties: true
      example:
        timestamp: '2018-01-01T00:00:00.000Z'
        eventName: JOB_CREATED
        context:
          jobId: '456'
          jobName: My Job
          environmentId: '123'
    CallbackSubscription:
      type: object
      properties:
        eventList:
          type: array
          items:
            $ref: '#/components/schemas/EventNameEnum'
        environmentIds:
          type: array
          items:
            type: integer
            format: int32
        isAdmin:
          type: boolean
          description: Indicates if the subscription is for an admin user
          readOnly: true
      example:
        eventList:
          - JOB_CREATED
          - JOB_UPDATED
          - JOB_DELETED
        environmentIds:
          - 1
          - 2
          - 3
    Classifier:
      required:
        - classifierName
      type: object
      properties:
        classifierId:
          type: integer
          description: >-
            The ID of the classifier. This will be generated by the Masking
            Engine.
          format: int64
          readOnly: true
        classifierName:
          maxLength: 100
          type: string
          description: The name of this classifier. Note that it must be unique.
        description:
          type: string
          description: The description of the classifier.
        frameworkId:
          type: integer
          description: The id of the classifier framework.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain that will be assigned to the column/field
            when a profile expression match is found during the execution of a
            profile job.
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the profile expression. This field is
            auto-generated by the Masking Engine.
          readOnly: true
        classifierConfiguration:
          type: object
          properties: {}
      example:
        classifierName: MyClassifier
        description: Detects my sensitive data
        frameworkId: 1
        domainName: MyDomain
        classifierConfiguration:
          dataPatterns:
            - regex: '[A-Za-z0-9]*'
              matchStrength: 0.1
    ClassifierList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Classifier'
    ClassifierFramework:
      type: object
      properties:
        frameworkId:
          type: integer
          description: The id of the classifier framework installed using Plugin API.
          format: int64
          readOnly: true
        frameworkName:
          maxLength: 255
          type: string
          description: The name of the classifier framework installed using Plugin API.
        description:
          type: string
          description: The description of the classifier framework
        classifierSchema:
          type: object
          properties: {}
          description: The JSON schema of classifierExtension used by this framework
      example:
        frameworkId: 1
        frameworkName: REGEX
        description: This is a regex classifier framework.
    ClassifierFrameworkList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ClassifierFramework'
    ClassifierConfig:
      type: object
      discriminator:
        propertyName: classifierConfig
    ClassifierCopy:
      required:
        - newClassifierName
      type: object
      properties:
        newClassifierName:
          maxLength: 201
          type: string
          description: The name of the classifier. This must be unique.
      example:
        newClassifierName: NewClassifier
    ColumnMetadata:
      required:
        - isProfilerWritable
      type: object
      properties:
        columnMetadataId:
          type: integer
          description: >-
            The ID number of the column metadata. This field is auto-generated
            by the Masking Engine.
          format: int64
          readOnly: true
        columnName:
          maxLength: 255
          type: string
          description: The name of the column, as determined by the underlying table.
          readOnly: true
        tableMetadataId:
          type: integer
          description: >-
            The ID number of the table metadata that this column is a part of.
            This field is auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        algorithmName:
          maxLength: 500
          type: string
          description: >-
            The name of the algorithm assigned to this column. Columns that are
            unmasked should have this property unset, in addition to having
            'domainName' unset. If this field is set, then the 'domainName' must
            also be specified.
        algorithmFieldId:
          type: integer
          description: >-
            The ID number of the algorithm field that is associated with this
            column.
          format: int64
        algorithmGroupNo:
          type: integer
          description: >-
            The group number of algorithm to identify a set of columns
            associated with one instance of algorithm.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain assigned to this column. Columns that are
            left unmasked should have this property unset. If the 'domainName'
            is set, but the 'algorithmName' is unset, then the default algorithm
            corresponding to the 'domainName' will be used.
        dataType:
          maxLength: 50
          type: string
          description: The data type of this column.
          readOnly: true
        dateFormat:
          maxLength: 50
          type: string
          description: The date format of the date assigned to this column.
        columnLength:
          type: integer
          description: >-
            The length of the column, in number of characters, as determined by
            the underlying table.
          format: int32
          readOnly: true
        isMasked:
          type: boolean
          description: >-
            This field indicates whether or not a column is being masked. This
            field is assigned by the Masking Engine to true or false based on
            whether the column is assigned an algorithm and domain.
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a column's fields (e.g.
            algorithm or domain assignment) may be modified during the execution
            of a profile job when there is a profiling match.
        isPrimaryKey:
          type: boolean
          description: >-
            This field indicates whether or not a column is a primary key. This
            field is determined by the Masking Engine.
          readOnly: true
        isIdentity:
          type: boolean
          description: >-
            This field indicates whether or not a column is an identity column.
            An identity column differs from a primary key in that its values are
            managed by the database server and usually cannot be modified. In
            many cases an identity column is used as a primary key; however,
            this is not always the case. This field is determined by the Masking
            Engine.
          readOnly: true
        isIndex:
          type: boolean
          description: >-
            This field indicates whether or not a column is an index. This field
            is determined by the Masking Engine.
          readOnly: true
        isForeignKey:
          type: boolean
          description: >-
            This field indicates whether or not a column is a foreign key. This
            field is determined by the Masking Engine.
          readOnly: true
        nullable:
          type: string
          description: >-
            This field indicates whether or not a column is nullable. This field
            is determined by the Masking Engine.
        documentStoreType:
          type: string
          description: >-
            This field indicates the type of document stored in the column.
            Required in case where fileFormatId is provided. Accepted values:
            ['JSON','XML']
        fileFormatId:
          type: integer
          description: >-
            The ID number of the file format. Required in case where
            documentStoreType is provided.
          format: int32
        notes:
          maxLength: 500
          type: string
          description: This field is used to store additional information about the column.
        domainAssignedBy:
          type: string
          description: This field indicates who assigned the domain to the column.
          readOnly: true
      example:
        algorithmName: FirstNameLookup
        domainName: FIRST_NAME
        isProfilerWritable: false
    ColumnMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ColumnMetadata'
    ConfigurationInstall:
      required:
        - fileReferenceId
      type: object
      properties:
        fileReferenceId:
          type: string
          description: >-
            The reference URI of the uploaded file to be installed. This file
            should have been uploaded via the /fileUpload endpoint.
        requiresRestart:
          type: boolean
          description: >-
            True if the Masking Engine must be restarted for the installation to
            take effect, false otherwise.
          readOnly: true
      example:
        fileReferenceId: delphix-file://upload/f_08bb469a2ddc407bb97a31e96ed0a76a/foo.bar
    ConnectionInfo:
      required:
        - connectionMode
      type: object
      properties:
        connectionMode:
          type: string
          description: >-
            This field denotes which connection mode the connector will use to
            connect to the underlying files.
          enum:
            - FTP
            - MOUNT
            - SFTP
            - FTPS
            - AWS_S3
            - S3_COMPATIBLE
            - AZURE_BLOB_STORAGE
        isMvsStorage:
          type: boolean
          description: >-
            This field denotes the type of storage is MVS or not. It's
            readonly(not persisted) and also only applicable for mainframe
            connectors.
        path:
          maxLength: 255
          type: string
          description: >-
            This field applies to all connection modes, and it is the file
            system path to the desired files.
        mountId:
          type: integer
          description: >-
            This field only applies to the Filesystem Mount Point connection
            mode, and it is the id of the mount containing the desired files.
          format: int32
        host:
          maxLength: 255
          type: string
          description: This field is the host address belonging to the FTP/SFTP server.
        loginName:
          maxLength: 255
          type: string
          description: >-
            This field is the login name to be used to authenticate with the
            FTP/SFTP server.
          x-is-sensitive: true
        password:
          maxLength: 255
          type: string
          description: >-
            This field is the password to be used to authenticate with the
            FTP/SFTP server. Note that for SFTP authentication, only one of the
            'password' or 'sshKey' fields should be provided.
          x-is-sensitive: true
        port:
          type: integer
          description: >-
            This field is the port number on the host address that the FTP/SFTP
            server is listening to.
          format: int32
        sshKey:
          maxLength: 255
          type: string
          description: >-
            This field only applies to the SFTP connection mode, and it is a
            reference to the public SSH key to be used as an alternative means
            of authentication to the SFTP server. The public SSH key must
            already exist on the Masking Engine under the directory
            '/var/delphix/dmsuite/resources/SSHKeys'. Note that only one of the
            'password' or 'sshKey' fields should be provided.
        userDirIsRoot:
          type: boolean
          description: >-
            This field only applies to the SFTP connection mode. A value of true
            indicates that path is relative to the SFTP server defined user
            directory, while false means it is an absolute path. Setting this
            value incorrectly may cause the SFTP connection to fail.
          default: false
        awsBucketName:
          maxLength: 255
          type: string
          description: This field is the bucket name for aws s3.
        awsRegion:
          maxLength: 100
          type: string
          description: This field is the region of aws s3 bucket.
        awsAccessKey:
          maxLength: 255
          type: string
          description: This field is the access key to access the s3 object.
        awsSecretKey:
          maxLength: 255
          type: string
          description: This field is the secret key to access the s3 object.
        awsAuthType:
          maxLength: 50
          type: string
          description: This field is the type of s3 authentication.
        prefix:
          maxLength: 1024
          type: string
          description: This field is the prefix for filteration.
        delimiter:
          maxLength: 1024
          type: string
          description: This field is the delimiter for filteration.
        s3CompatibleDetails:
          $ref: '#/components/schemas/S3CompatibleDetails'
        azureBlobStorageDetails:
          $ref: '#/components/schemas/AzureBlobStorageDetails'
        passwordVaultAuth:
          type: boolean
          description: >-
            Whether the connector uses password vault for authentication or not.
            This is a read-only field, determined by if credentialPathId is
            provided.
          readOnly: true
        credentialPathId:
          type: integer
          description: >-
            The ID of the credential path to use for this connector. Used to
            retrieve credentials from a password vault.
          format: int32
    ConnectionProperties:
      type: object
      properties:
        name:
          type: string
          description: The name of the property.
        value:
          type: string
          description: The value of the property.
        description:
          type: string
          description: The description of the property.
        edited:
          type: boolean
          description: Whether this property was set through a connection properties file.
          default: false
    CredentialPath:
      type: object
      properties:
        credentialPathId:
          type: integer
          description: >-
            The ID number of the credential path. This field is auto-generated
            by the Masking Engine.
          format: int32
          readOnly: true
        credentialPathName:
          maxLength: 255
          type: string
          description: The name of the credential path.
        description:
          maxLength: 1024
          type: string
          description: The description of the credential path.
        passwordVaultId:
          type: integer
          description: The ID of the password vault which contains this credential path.
          format: int32
        credentialParameters:
          type: object
          properties: {}
          description: The parameters for this credential path.
          x-is-sensitive: true
      example:
        credentialPathName: ExampleCredentialPath
        description: >-
          This CredentialPath example has HashiCorp credentialParameters.
          Example credentialParameter keys for other password vaults: CyberArk
          (queryString), GCP (versionId, projectId, usernameKey, passwordKey)
        passwordVaultId: 5
        credentialParameters:
          engine: my-secrets
          path: hello
          usernameKey: user
          passwordKey: pwd
    CredentialPathList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/CredentialPath'
    DatabaseConnector:
      type: object
      properties:
        databaseConnectorId:
          type: integer
          description: >-
            The ID number of the connector. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        connectorName:
          maxLength: 255
          type: string
          description: The name of the connector.
        databaseType:
          type: string
          description: The type of database the connector will connect to.
          enum:
            - AURORA_POSTGRES
            - DB2
            - DB2_ISERIES
            - DB2_MAINFRAME
            - EXTENDED
            - GENERIC
            - MARIADB
            - MSSQL
            - MYSQL
            - ORACLE
            - POSTGRES
            - RDS_POSTGRES
            - SYBASE
            - YUGABYTEDB_POSTGRES
            - COCKROACHDB_POSTGRES
        environmentId:
          type: integer
          description: >-
            The ID of the environment under which to create the connector. Once
            the connector is created, this value cannot be changed.
          format: int32
        customDriverName:
          maxLength: 255
          type: string
          description: >-
            The name of the custom driver to use. Only used for database type
            'GENERIC'.
        databaseName:
          maxLength: 255
          type: string
          description: >-
            The name of the database to connect to. This field is not valid for
            database types 'ORACLE' and 'GENERIC'.
        host:
          maxLength: 500
          type: string
          description: The host name or IP address where the database is located.
        instanceName:
          maxLength: 50
          type: string
          description: >-
            The name of the database instance. Only used for database type
            'MSSQL'.
        jdbc:
          type: string
          description: >-
            The jdbc connection string. This can be used as an alternative to
            specifying a 'host', 'databaseName', 'SID', and 'port'. This value
            is only applicable when using database types 'ORACLE', 'MSSQL',
            'SYBASE', 'EXTENDED' and 'GENERIC'.
          x-is-sensitive: true
        password:
          maxLength: 255
          type: string
          description: >-
            The password required to access the database. NOTE: For updates,
            this field does not have to be set. If no password is provided on an
            update, then the current password will persist.
          x-is-sensitive: true
        port:
          maximum: 65535
          minimum: 0
          type: integer
          description: >-
            The port to use for connecting to the database. This field is not
            valid for the database type 'GENERIC'.
        schemaName:
          maxLength: 255
          type: string
          description: >-
            The schema name on the database. Note that this field should be
            uppercase for database type 'ORACLE'. Also note that this field is
            not relevant for database type 'MYSQL'.
        sid:
          maxLength: 255
          type: string
          description: >-
            The SID of the Oracle Instance to connect to. This field is only
            valid for database type 'ORACLE'.
        username:
          maxLength: 255
          type: string
          description: >-
            The username required to access the database. Note that this field
            should be uppercase for database type 'ORACLE'.
          x-is-sensitive: true
        kerberosAuth:
          type: boolean
          description: >-
            Whether to use kerberos to authenticate database connections. When
            kerberosAuth is enabled, the username field is treated as the
            kerberos principal. Kerberos must be enabled on the appliance
          default: false
        servicePrincipal:
          maxLength: 256
          type: string
          description: >-
            The service principal used to access the database. This property is
            exclusive to Sybase connectors using Kerberos.
        jdbcDriverId:
          type: integer
          description: >-
            The ID of the JDBC driver to use for this connector. This is
            exclusively used for extended connectors.
          format: int32
        enableLogger:
          type: boolean
          description: >-
            Whether to enable the logger. This is exclusively used for extended
            connectors.
        fileReferenceId:
          type: string
          description: The reference to the uploaded connection property file.
        passwordVaultAuth:
          type: boolean
          description: >-
            Whether the connector uses password vault for authentication or not.
            This is a read-only field, determined by if credentialPathId is
            provided.
          readOnly: true
        credentialPathId:
          type: integer
          description: >-
            The ID of the credential path to use for this connector. Used to
            retrieve database login credentials from a password vault.
          format: int32
        authPresent:
          type: string
          description: >-
            Denotes whether authentication is present or not for this connector,
            UI only field
          readOnly: true
      example:
        connectorName: Con123
        databaseType: ORACLE
        environmentId: 1
        host: europa.delphix.com
        password: Pass_123
        port: 1521
        schemaName: MASKER
        sid: TEST
        username: MASKER
    DatabaseConnectorList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseConnector'
    DatabaseMaskingOptions:
      type: object
      properties:
        batchUpdate:
          type: boolean
          description: >-
            This field determines whether the database load phase to output the
            masked data will be performed in batches. The size of the batches is
            determined by the field 'commitSize'. This option is recommended
            because it typically improves the performance of the masking job.
          default: true
        commitSize:
          minimum: 1
          type: integer
          description: >-
            This field corresponds to the size of the database commits when
            performing batch updates.
          format: int32
        disableConstraints:
          type: boolean
          description: >-
            This field determines whether the database constraints on the tables
            to-be-masked will be temporarily disabled/dropped prior to when the
            masking phase starts, and then reenabled/recreated after the masking
            phase finishes. Due to the large amount of data mutation that is
            inherent to the masking phase, this option can improve performance
            by preventing the need to constantly reevaluate constraints while
            performing the data masking. Further, this option is often necessary
            for masking columns that are part of foreign key constraints because
            those constraints can be temporarily violated during the masking
            phase.
          default: false
        dropIndexes:
          type: boolean
          description: >-
            This field determines whether the database indexes on the tables
            to-be-masked will be temporarily disabled/dropped prior to when the
            masking phase starts, and then reenabled/recreated after the masking
            phase finishes. Due to the large amount of data mutation that is
            inherent to the masking phase, this option can improve performance
            by preventing the need to constantly re-index the tables while
            performing the data masking.
          default: false
        disableTriggers:
          type: boolean
          description: >-
            This field determines whether the database triggers on the tables
            to-be-masked will be temporarily disabled/dropped prior to when the
            masking phase starts, and then reenabled/recreated after the masking
            phase finishes. Due to the large amount of data mutation that is
            inherent to the masking phase, this option can improve performance
            by preventing the constant execution of triggers while performing
            the data masking.
          default: false
        numOutputThreadsPerStream:
          minimum: 1
          type: integer
          description: >-
            This field controls the amount of parallelism, per input stream,
            that the masking job uses to load back the masked data. For
            instance, specifying 4 output threads per stream with 5 input
            streams results in a total of 20 output threads for the whole job.
            The higher the value of this field, the more potential parallelism
            there will be in the job, but the masking job will consume more
            memory. WARNING: when masking a database and specifying more than 1
            output thread per stream, there is the potential for a deadlock that
            could stall the masking job indefinitely.
          format: int32
          default: 1
        truncateTables:
          type: boolean
          description: >-
            This field only applies when masking a database OnTheFly, and it
            determines whether the target database tables are truncated prior to
            loading the masked data into the target database (after the masking
            phase is done).
          default: false
        prescript:
          $ref: '#/components/schemas/MaskingJobScript'
        postscript:
          $ref: '#/components/schemas/MaskingJobScript'
    DatabaseRuleset:
      required:
        - databaseConnectorId
        - rulesetName
      type: object
      properties:
        databaseRulesetId:
          type: integer
          description: >-
            The ID of the database ruleset. This field is set by the Masking
            Engine.
          format: int32
          readOnly: true
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
        databaseConnectorId:
          type: integer
          description: >-
            The ID of the database connector that this ruleset corresponds to.
            Note that the ruleset will be created on the same environment as its
            connector.
          format: int32
        refreshDropsTables:
          type: boolean
          description: >-
            This field applies to the case where a Table Metadata exists in the
            Masking Engine, but the corresponding table no longer exists in the
            external database (e.g. if the table has been deleted or renamed).
            In that event, True will cause the refresh operation to delete the
            invalid Table Metadata, whereas False will fail the refresh instead.
          default: false
      example:
        rulesetName: Rule123
        databaseConnectorId: 1
    DatabaseRulesetList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseRuleset'
    DatabaseRulesetCopy:
      required:
        - newRulesetName
      type: object
      properties:
        newRulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
      example:
        newRulesetName: Rule123
    DatabaseRulesetCSVExport:
      required:
        - exportFileName
      type: object
      properties:
        exportFileName:
          maxLength: 50
          type: string
          description: The name of the exported ruleset CSV file.
        fileReferenceId:
          type: string
          description: >-
            The reference URI of the exported ruleset file. Use this reference
            id in file download api to download the exported file.
          readOnly: true
      example:
        exportFileName: my-database-ruleset.csv
    DatabaseRulesetCSVImport:
      type: object
      properties:
        importStatus:
          type: string
          readOnly: true
          enum:
            - SUCCESS
            - FAILED
            - WARNING
        message:
          type: array
          readOnly: true
          items:
            type: string
      example:
        importStatus: SUCCESS
        message:
          - Inventory imported successfully
    DatabaseUsage:
      type: object
      properties:
        name:
          type: string
          description: Name of the database.
        dbType:
          type: string
          description: Type of the database.
        size:
          type: number
          description: Size of the database in bytes.
        databaseProperties:
          type: object
          description: Properties of the database.
        executionId:
          type: integer
          description: The ID of the execution.
          format: int32
        failureReason:
          type: string
          description: Reason in case unable to calculate database size.
        reportingDate:
          type: string
          description: Date with time and timezone information in string format.
      example:
        name: testDbName
        dbType: oracle
        size: 2695200768
        databaseProperties:
          port: 1504
          databaseIdentifier: testHost:testServiceName:testDbName
        executionId: 1
        failureReason: ''
        reportingDate: 2018-11-06T04:14:46.929+0000
    DatabaseUsageList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        data:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseUsage'
      example:
        _pageInfo:
          numberOnPage: 1
          total: 1
        data:
          - name: testDbName
            dbType: oracle
            size: 2695200768
            databaseProperties:
              port: 1504
              databaseIdentifier: testHost:testServiceName:testDbName
            executionId: 1
            failureReason: ''
            reportingDate: 2018-11-06T04:14:46.929+0000
    DataCleansingExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            fileReferenceId:
              type: string
              description: >-
                The reference URI value returned from the endpoint for uploading
                files to the Masking Engine. The file should contain a newline
                separated list of {value, replacement} pairs separated by the
                delimiter. No extraneous whitespace should be present.
            delimiter:
              maxLength: 50
              minLength: 1
              type: string
              description: >-
                The delimiter string used to separate {value, replacement} pairs
                in the uploaded file
              default: '='
    Domain:
      required:
        - domainName
      type: object
      properties:
        domainName:
          maxLength: 100
          type: string
        createdBy:
          maxLength: 255
          type: string
          description: Backend generated field
          readOnly: true
        defaultAlgorithmCode:
          maxLength: 500
          type: string
          description: Must be one of the algorithm codes
        defaultTokenizationCode:
          maxLength: 500
          type: string
          description: >-
            This input is optional. If used, must be one of the tokenization
            algorithm codes
      example:
        domainName: NEW_DOMAIN
        defaultAlgorithmCode: SimpleMaskingAlgorithm
    DomainList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Domain'
    Environment:
      required:
        - applicationId
        - environmentName
        - purpose
      type: object
      properties:
        environmentId:
          type: integer
          description: >-
            The ID of the Environment. This field will be generated by the
            Masking Engine.
          format: int32
          readOnly: true
        environmentName:
          maxLength: 255
          type: string
          description: >-
            The name for this Environment. Note that it must be unique among
            Environments.
        applicationId:
          type: integer
          description: The ID of the associated application.
          format: int32
        applicationName:
          type: string
          description: The Name of the associated application.
          readOnly: true
        purpose:
          type: string
          description: >-
            The purpose of this Environment. Environments with a 'MASK' purpose
            will have access to Masking and Profiling jobs, whereas Environments
            with a 'TOKENIZE' purpose will have access to Tokenization and
            Re-Identification jobs. Note that any custom purposes created
            through the UI will be represented as 'MASK' purposes, due to the
            jobs that they have access to.
          enum:
            - MASK
            - TOKENIZE
        isWorkflowEnabled:
          type: boolean
          description: True to have workflow enabled, false to leave the workflow disabled.
          default: false
      example:
        environmentName: test_env
        applicationId: '1'
        purpose: MASK
    EnvironmentList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Environment'
    ErrorMessage:
      required:
        - errorMessage
      type: object
      properties:
        errorMessage:
          maxLength: 255
          type: string
          description: The error message.
    Execution:
      required:
        - jobId
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        jobId:
          type: integer
          description: The ID of the job that is being executed.
          format: int32
        connectorType:
          type: string
          description: >-
            The type of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          enum:
            - DATABASE
            - FILE
            - VSAM
        sourceConnectorId:
          type: integer
          description: >-
            The ID of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          format: int32
        targetConnectorId:
          type: integer
          description: >-
            The ID of the target connector. This field is only used for
            multi-tenant jobs.
          format: int32
        status:
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - QUEUED
            - RUNNING
            - SUCCEEDED
            - WARNING
        rowsMasked:
          type: integer
          description: >-
            The number of rows masked or profiled so far by this execution. This
            is not applicable to JSON.
          format: int64
          readOnly: true
        rowsTotal:
          type: integer
          description: >-
            The total number of rows that this execution should mask or profile.
            This value is set to -1 while the total row count is being
            calculated. This is not applicable to JSON.
          format: int64
          readOnly: true
        bytesProcessed:
          type: integer
          description: >-
            The number of bytes masked or profiled so far by this execution.
            This is only applicable to JSON files and ASDD profiling jobs on XML
            files.
          format: int64
          readOnly: true
        bytesTotal:
          type: integer
          description: >-
            The total number of bytes or profiled that this execution should
            mask. This value is set to -1 while the total byte count is being
            calculated. This is only applicable to JSON files and ASDD profiling
            jobs on XML files.
          format: int64
          readOnly: true
        startTime:
          type: string
          description: The date and time that this execution was started.
          format: date-time
          readOnly: true
        endTime:
          type: string
          description: The date and time that this execution completed.
          format: date-time
          readOnly: true
        submitTime:
          type: string
          description: The date and time that this execution was submitted.
          format: date-time
          readOnly: true
      example:
        jobId: 167
    ExecutionList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Execution'
    ExecutionDetail:
      required:
        - jobId
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        environmentId:
          type: integer
          description: The ID of the Environment.
          format: int32
          readOnly: true
        environmentName:
          maxLength: 255
          type: string
          description: >-
            The name for the Environment. Note that it must be unique among
            Environments.
        jobId:
          type: integer
          description: The ID of the job that is being executed.
          format: int32
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the job. Once the job is created, this field cannot be
            changed.
        jobType:
          maxLength: 50
          type: string
          description: The type of the job
        connectorType:
          type: string
          description: >-
            The type of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          enum:
            - DATABASE
            - FILE
            - VSAM
        sourceConnectorId:
          type: integer
          description: >-
            The ID of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          format: int32
        targetConnectorId:
          type: integer
          description: >-
            The ID of the target connector. This field is only used for
            multi-tenant jobs.
          format: int32
        executionConnectorType:
          maxLength: 50
          type: string
          description: The type of connector.
          readOnly: true
        hasNonConformingData:
          type: boolean
          description: If it has non-conforming data.
          readOnly: true
        status:
          maxLength: 50
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
        progression:
          type: array
          items:
            $ref: '#/components/schemas/TaskEvents'
        rowsMasked:
          type: integer
          description: >-
            The number of rows masked or profiled so far by this execution. This
            is not applicable to JSON.
          format: int64
          readOnly: true
        rowsTotal:
          type: integer
          description: >-
            The total number of rows that this execution should mask or profile.
            This value is set to -1 while the total row count is being
            calculated. This is not applicable to JSON.
          format: int64
          readOnly: true
        bytesProcessed:
          type: integer
          description: >-
            The number of bytes masked or profiled so far by this execution.
            This is only applicable to JSON files and ASDD profiling jobs on XML
            files.
          format: int64
          readOnly: true
        bytesTotal:
          type: integer
          description: >-
            The total number of bytes that this execution should mask or
            profile. This value is set to -1 while the total byte count is being
            calculated. This is only applicable to JSON files and ASDD profiling
            jobs on XML files.
          format: int64
          readOnly: true
        startTime:
          type: string
          description: The date and time that this execution was started.
          format: date-time
          readOnly: true
        endTime:
          type: string
          description: The date and time that this execution completed.
          format: date-time
          readOnly: true
        submitTime:
          type: string
          description: The date and time that this execution was submitted.
          format: date-time
          readOnly: true
      example:
        jobId: 167
    ExecutionDetailList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionDetail'
    ExecutionComponent:
      type: object
      properties:
        executionComponentId:
          type: integer
          description: The ID of the execution component.
          format: int32
          readOnly: true
        componentName:
          type: string
          description: >-
            The name of the component source e.g. the name of the file, table,
            or Mainframe Dataset file.
          readOnly: true
        executionId:
          type: integer
          description: The ID of the execution.
          format: int32
          readOnly: true
        status:
          type: string
          description: The status of the execution of a component.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - RUNNING
            - SUCCEEDED
            - WAITING
            - WARNING
        rowsMasked:
          type: integer
          description: >-
            The number of rows masked or profiled so far in the component. This
            is not applicable to JSON.
          format: int64
          readOnly: true
        rowsTotal:
          type: integer
          description: >-
            The total number of rows that should be masked or profiled in the
            component. This value is set to -1 while the total row count is
            being calculated. This is not applicable to JSON.
          format: int64
          readOnly: true
        bytesProcessed:
          type: integer
          description: >-
            The number of bytes masked or profiled so far in the component. This
            is only applicable to JSON files and ASDD profiling jobs on XML
            files.
          format: int64
          readOnly: true
        bytesTotal:
          type: integer
          description: >-
            The total number of bytes that should be masked or profiled in the
            component. This value is set to -1 while the total byte count is
            being calculated. This is only applicable to JSON files and ASDD
            profiling jobs on XML files.
          format: int64
          readOnly: true
        startTime:
          type: string
          description: >-
            The date and time that the masking engine starts operating on the
            component. This will be null for column level profiling and for
            components that the engine has not started masking.
          format: date-time
          readOnly: true
        endTime:
          type: string
          description: >-
            The date and time that the component is placed in a final state i.e.
            FAILED or SUCCEEDED.
          format: date-time
          readOnly: true
        logFile:
          type: string
          description: The log file name for the execution component.
          readOnly: true
        nonConformingDataCount:
          type: integer
          description: The non-conforming data count for the execution component.
          format: int64
          readOnly: true
      example:
        executionComponentId: 20
        componentName: dummy_file.xml
        executionId: 10
        status: SUCCEEDED
    ExecutionComponentLogsList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionComponentLog'
    ExecutionComponentLogByComponentId:
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        componentId:
          type: integer
          description: The ID of the execution component.
          format: int32
          readOnly: true
        componentName:
          maxLength: 255
          type: string
          description: Name of the execution component
        fileDownloadId:
          type: string
          description: >-
            This value is returned on GET. It can be fed into the file-downloads
            endpoint.
          readOnly: true
      example:
        executionId: 123
        componentId: 67
        componentName: table_00
        fileDownloadId: EXECUTION_LOGS-AB8aCbcdDe==
    ExecutionComponentList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionComponent'
    ExecutionEvent:
      type: object
      properties:
        executionEventId:
          type: integer
          description: The ID of the execution event.
          format: int64
          readOnly: true
        executionId:
          type: integer
          description: The ID of the execution.
          format: int32
          readOnly: true
        eventType:
          type: string
          description: The type of execution event.
          readOnly: true
          enum:
            - JOB_ABORTED
            - UNMASKED_DATA
            - NONCONFORMANT_DATA_NULLIFICATION
            - MASKING_FALLBACK
            - FILE_PATTERN_NO_MATCH
            - DATA_FETCH_FAIL
        severity:
          type: string
          description: The severity of the execution event.
          readOnly: true
          enum:
            - INFO
            - WARNING
            - CRITICAL
        cause:
          type: string
          description: The cause of the execution event.
          readOnly: true
          enum:
            - UNHANDLED_EXCEPTION
            - IGNORED_EXCEPTION
            - PATTERN_MATCH_FAILURE
            - PREMASK_TYPE_CONVERSION_FAILURE
            - POSTMASK_TYPE_CONVERSION_FAILURE
            - EXTENDED_ALGORITHM_FAILURE
            - DRIVER_SUPPORT_TASK_FAILURE
            - DATA_NOT_FOUND_FAILURE
            - INVALID_JOB_CONFIGURATION
            - DATA_QUERY_TIMEOUT
            - SALESFORCE_BATCH_JOB_ERRORS
        count:
          type: integer
          description: The number of times the execution event occurred.
          format: int64
          readOnly: true
        timeStamp:
          type: string
          description: The date and time that this execution event first occurred.
          format: date-time
          readOnly: true
        executionComponentId:
          type: integer
          description: >-
            The ID of the execution component with which this execution event is
            associated
          format: int32
          readOnly: true
        maskedObjectName:
          type: string
          description: >-
            The name of the column, field, or other object being masked when
            this event occurred, if applicable.
          readOnly: true
        maskedObjectParentName:
          type: string
          description: >-
            The parent name of the field being masked when this event occurred.
            It will be only applicable for Document Store Type columns and value
            will be column name
          readOnly: true
        algorithmName:
          type: string
          description: >-
            The name of the masking algorithm running when this event occurred,
            if applicable.
          readOnly: true
        exceptionType:
          type: string
          description: >-
            The Java class of the exception that triggered this event, if
            applicable.
          readOnly: true
        exceptionDetail:
          type: string
          description: >-
            The details associated with the Java exception that triggered this
            event, if applicable.
          readOnly: true
        sampleIds:
          type: string
          description: >-
            The list of salesforce sample IDs associated with this event, only
            applicable for SALESFORCE_BATCH_JOB_ERRORS cause.
          readOnly: true
      example:
        executionEventId: 1
        executionId: 1
        eventType: UNMASKED_DATA
        severity: WARNING
        cause: PATTERN_MATCH_FAILURE
        count: 1
        timeStamp: 2018-11-06T04:14:46.929+0000
        executionComponentId: 1
        maskedObjectName: DB_FIELD_NAME
        algorithmName: MyAlgorithm
    ExecutionEventList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionEvent'
    ExecutionHistory:
      type: object
      properties:
        executionHistoryId:
          type: integer
          description: >-
            The ID of the execution history for the referenced job. This field
            is generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        dbSrcName:
          type: string
          description: The name of the source database connector.
          readOnly: true
        dbSrcDatabase:
          type: string
          description: The name of the source database for the referenced job.
          readOnly: true
        dbSrcHost:
          type: string
          description: The host name of the source database for the referenced job.
          readOnly: true
        dbSrcPort:
          type: string
          description: The port number of the source database for the referenced job.
          readOnly: true
        dbSrcSchema:
          type: string
          description: The schema name of the source database for the referenced job.
          readOnly: true
        dbSrcSid:
          type: string
          description: The SID of the source database for the referenced job.
          readOnly: true
        dbSrcIsAdvanced:
          type: boolean
          description: It specified if the source db connector is advanced or not.
          readOnly: true
        dbTrgName:
          type: string
          description: The name of the target database connector.
          readOnly: true
        dbTrgDatabase:
          type: string
          description: The name of the target database for the referenced job.
          readOnly: true
        dbTrgHost:
          type: string
          description: The host name of the target database for the referenced job.
          readOnly: true
        dbTrgPort:
          type: string
          description: The port number of the target database for the referenced job.
          readOnly: true
        dbTrgSchema:
          type: string
          description: The schema name of the target database for the referenced job.
          readOnly: true
        dbTrgSid:
          type: string
          description: The SID of the target database for the referenced job.
          readOnly: true
        dbTrgIsAdvanced:
          type: boolean
          description: It specified if the target db connector is advanced or not.
          readOnly: true
      example:
        executionHistoryId: 16
        executionId: 16
        dbSrcName: Oracle
        dbSrcDatabase: orcl
        dbSrcHost: localhost
        dbSrcPort: '1521'
        dbSrcSchema: HR
        dbSrcSid: orcl
        dbSrcIsAdvanced: false
    ExecutionLogsList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExecutionLog'
    ExecutionLogById:
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
        jobId:
          type: integer
          description: The ID of the job that is being executed.
          format: int32
        fileDownloadId:
          type: string
          description: >-
            This value is returned on GET. It can be fed into the file-downloads
            endpoint.
          readOnly: true
        status:
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - QUEUED
            - RUNNING
            - SUCCEEDED
            - WARNING
      example:
        executionId: 123
        jobId: 167
        fileDownloadId: EXECUTION_LOGS-AB8aCbcdDe==
        status: SUCCEEDED
    ExecutionReport:
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
        reportType:
          type: string
          description: >-
            The type of report. For Masking, Tokenization and Re-Identification
            jobs there are 2 types of reports: Job and Inventory Report. For
            Profiling jobs there is only one type of report: Job Report.
          enum:
            - JOB_REPORT
            - INVENTORY_REPORT
        fileDownloadId:
          type: string
          description: >-
            This value is returned on GET. It can be fed into the file-downloads
            endpoint.
          readOnly: true
        fileName:
          type: string
          description: The name of the report file.
          readOnly: true
      example:
        executionId: 123
        reportType: JOB_REPORT
        fileDownloadId: EXECUTION_REPORT-aHKvZgfcjgW5ngfE==
        fileName: masking_9_Fri_Oct_27_145315_IST_2023.pdf
    ExecutionSummary:
      required:
        - jobId
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        environmentId:
          type: integer
          description: The ID of the Environment.
          format: int32
          readOnly: true
        environmentName:
          maxLength: 255
          type: string
          description: >-
            The name for the Environment. Note that it must be unique among
            Environments.
        jobId:
          type: integer
          description: The ID of the job that is being executed.
          format: int32
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the job. Once the job is created, this field cannot be
            changed.
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
        jobType:
          maxLength: 50
          type: string
          description: The type of the job
        noOfStreams:
          type: integer
          description: The number of stream.
          format: int32
        updatesRunning:
          type: integer
          description: The number of Updates running.
          format: int32
          readOnly: true
        previousRunTime:
          maxLength: 50
          type: string
          description: Total time taken in the last run
          readOnly: true
        connectorType:
          type: string
          description: >-
            The type of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          enum:
            - DATABASE
            - FILE
            - VSAM
        sourceConnectorId:
          type: integer
          description: >-
            The ID of the source connector. This field is only used for
            multi-tenant jobs that are also on-the-fly.
          format: int32
        sourceConnectorName:
          type: string
          description: Source connector name
          readOnly: true
        targetConnectorId:
          type: integer
          description: >-
            The ID of the target connector. This field is only used for
            multi-tenant jobs.
          format: int32
        targetConnectorName:
          type: string
          description: Target connector name
          readOnly: true
        executionConnectorType:
          maxLength: 50
          type: string
          description: The type of connector.
          readOnly: true
        hasNonConformingData:
          type: boolean
          description: If it has non-conforming data.
          readOnly: true
        nonConformingComponentCount:
          type: integer
          description: The count of components having non conforming data.
          format: int64
        nonConformingFieldCount:
          type: integer
          description: The count of fields/columns having non conforming data.
          format: int64
        status:
          maxLength: 50
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
        progression:
          type: array
          items:
            $ref: '#/components/schemas/TaskEvents'
        rowsMasked:
          type: integer
          description: >-
            The number of rows masked or profiled so far by this execution. This
            is not applicable to JSON.
          format: int64
          readOnly: true
        rowsTotal:
          type: integer
          description: >-
            The total number of rows that this execution should mask or profile.
            This value is set to -1 while the total row count is being
            calculated. This is not applicable to JSON.
          format: int64
          readOnly: true
        bytesProcessed:
          type: integer
          description: >-
            The number of bytes masked or profiled so far by this execution.
            This is only applicable to JSON files and ASDD profiling jobs on XML
            files.
          format: int64
          readOnly: true
        bytesTotal:
          type: integer
          description: >-
            The total number of bytes that this execution should mask or
            profile. This value is set to -1 while the total byte count is being
            calculated. This is only applicable to JSON files and ASDD profiling
            jobs on XML files.
          format: int64
          readOnly: true
        startTime:
          type: string
          description: The date and time that this execution was started.
          format: date-time
          readOnly: true
        endTime:
          type: string
          description: The date and time that this execution completed.
          format: date-time
          readOnly: true
        submitTime:
          type: string
          description: The date and time that this execution was submitted.
          format: date-time
          readOnly: true
        completionTime:
          type: string
          description: >-
            The time remaining in case of active job and time taken in case of
            completed job.
          readOnly: true
        currentTime:
          type: string
          description: The current date and time from server.
          format: date-time
          readOnly: true
        totalComponentCount:
          type: integer
          description: The total number of tables or files available for masking.
          format: int64
          readOnly: true
        maskedComponentCount:
          type: integer
          description: The total number of tables or files masked successfully.
          format: int64
          readOnly: true
        warningComponentCount:
          type: integer
          description: The total number of tables or files masked with warnings.
          format: int64
          readOnly: true
        remainingComponentCount:
          type: integer
          description: The total number of tables or files remaining for masking.
          format: int64
          readOnly: true
        unmaskedComponentCount:
          type: integer
          description: The total number of tables or files remaining for masking or failed.
          format: int64
          readOnly: true
        isJobReportAvailable:
          type: boolean
          description: If it has job report available or not.
          readOnly: true
        isInventoryReportAvailable:
          type: boolean
          description: If it has Inventory report available or not.
          readOnly: true
        usesByteMetrics:
          type: boolean
          description: >-
            If the underlying job uses row metrics. This is used to determine
            whether we should display metrics in rows or bytes in the job
            monitor; XML file ASDD profiling uses bytes whereas masking and
            legacy profiling uses rows (tokens).
          readOnly: true
        executionHistory:
          $ref: '#/components/schemas/ExecutionHistory'
        totalProgress:
          type: integer
          description: Combined progress of all the execution components.
          format: int32
          readOnly: true
        inventoryFileReference:
          type: string
          description: >-
            The reference to the inventory file. This will be set for DB masking
            jobs that have an inventory data collected in CSV.
          readOnly: true
      example:
        jobId: 167
    ExportObject:
      required:
        - blob
        - exportResponseMetadata
        - publicKey
        - signature
      type: object
      properties:
        exportResponseMetadata:
          type: object
          properties: {}
        blob:
          type: string
          description: Export package containing data representing masking object
          x-is-sensitive: true
        signature:
          type: string
          description: Cryptographic signature of the blob
        publicKey:
          type: string
          description: Public version of the key used to generate the signature
    ExportObjectMetadata:
      required:
        - objectIdentifier
        - objectType
      type: object
      properties:
        objectIdentifier:
          type: object
          properties: {}
        objectType:
          type: string
          description: Type of object to export
          enum:
            - ALGORITHM_PLUGIN
            - ALGORITHM_REFERENCE
            - APPLICATION_SETTINGS
            - BINARYLOOKUP
            - CLASSIFIER
            - CLASSIFIER_REFERENCE
            - CLEANSING
            - CREDENTIAL_PATH
            - DATABASE_CONNECTOR
            - DATABASE_RULESET
            - DATABASE_RULESET_REFERENCE
            - DATASET_CONNECTOR
            - DATASET_RULESET
            - DATASET_FORMAT
            - DATA_TABLE
            - DATE_SHIFT
            - DOMAIN
            - DOMAIN_REFERENCE
            - DRIVER_SUPPORT_PLUGIN
            - ENVIRONMENT
            - FILE_CONNECTOR
            - FILE_FORMAT
            - FILE_RULESET
            - GLOBAL_OBJECT
            - JDBC_DRIVER
            - KEY
            - LICENSE_INFO
            - LOOKUP
            - MAPPLET
            - MASKING_JOB
            - MIN_MAX
            - MOUNT_INFORMATION
            - PASSWORD_VAULT
            - PROFILE_JOB
            - PROFILE_SET
            - PROFILE_SET_REFERENCE
            - REDACTION
            - REIDENTIFICATION_JOB
            - SEGMENT
            - SOURCE_DATABASE_CONNECTOR
            - SOURCE_DATASET_CONNECTOR
            - SOURCE_FILE_CONNECTOR
            - TOKENIZATION
            - TOKENIZATION_JOB
            - USER_ALGORITHM
        revisionHash:
          type: string
          description: >-
            Global comparison value for the syncable object that gets
            recalculated upon update to any object along its dependency chain
        revisionId:
          type: string
          description: >-
            Global ID for the syncable object that gets recalculated only upon
            update to its own object
    ExportObjectMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ExportObjectMetadata'
    ExportResponseMetadata:
      type: object
      properties:
        exportHost:
          type: string
        exportDate:
          type: string
        requestedObjectList:
          type: array
          items:
            $ref: '#/components/schemas/ExportResponseMetadataItem'
        exportedObjectList:
          type: array
          items:
            $ref: '#/components/schemas/ExportResponseMetadataItem'
        structure:
          type: string
          description: The structure of the sync bundle
        version:
          type: string
          description: The version of the syncable objects
        salt:
          type: string
          description: The salt to decrypt sync V2 export files
    FeatureFlag:
      required:
        - featureFlagName
      type: object
      properties:
        featureFlagName:
          maxLength: 255
          type: string
          description: Name of the flag
          readOnly: true
        isEnabled:
          type: boolean
          description: If the flag is enabled or not
          readOnly: true
      example:
        featureFlagName: featureFlag
        isEnabled: true
    FileConnector:
      required:
        - connectionInfo
        - connectorName
        - environmentId
        - fileType
      type: object
      properties:
        fileConnectorId:
          type: integer
          description: >-
            The ID number of the file connector. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        connectorName:
          maxLength: 45
          type: string
          description: The name of the file connector.
        environmentId:
          type: integer
          description: >-
            The ID number of the environment that the file connector is in. Once
            the file connector is created, this field cannot be changed.
          format: int32
        fileType:
          type: string
          description: >-
            This field denotes which file type, of the several types supported,
            the file connector will target. Once a FileConnector object is
            created, its fileType cannot be changed.
          enum:
            - DELIMITED
            - FIXED_WIDTH
            - XML
            - JSON
            - PARQUET
        connectionInfo:
          $ref: '#/components/schemas/ConnectionInfo'
        authPresent:
          type: string
          description: >-
            Denotes whether authentication is present or not for this connector,
            UI only field
          readOnly: true
      example:
        connectorName: file_connector_via_ftp
        environmentId: 123
        fileType: DELIMITED
        connectionInfo:
          connectionMode: FTP
          path: /path/to/files
          host: host123.server.com
          loginName: ftpuser
          password: secret123
          port: 23456
          userDirIsRoot: false
    FileConnectorList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileConnector'
    FileFieldMetadata:
      required:
        - isProfilerWritable
      type: object
      properties:
        fileFieldMetadataId:
          type: integer
          description: >-
            The ID number of the file field metadata. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        fileFormatId:
          type: integer
          description: The ID number of the file format that defines this file field.
          format: int32
          readOnly: true
        recordTypeId:
          type: integer
          description: >-
            The ID number of the record type that defines this file field.
            Required in case of Create API
          format: int32
        fieldLength:
          type: integer
          description: >-
            The length of the file field, in number of characters, as determined
            by the associated file format. Required in case of Create API
          format: int32
        fieldName:
          type: string
          description: >-
            The name of the file field, as determined by the associated file
            format. Required in case of Create API
          readOnly: true
        fieldPositionNumber:
          type: integer
          description: >-
            The position of the file field with respect to the other file
            fields, as determined by the associated file format. Required in
            case of Create API
          format: int32
        algorithmName:
          maxLength: 500
          type: string
          description: >-
            The name of the algorithm assigned to this file field. File fields
            that are unmasked should have this property unset, in addition to
            having 'domainName' unset. If this field is set, then the
            'domainName' must also be specified.
        algorithmFieldId:
          type: integer
          description: >-
            The ID number of the algorithm field that is associated with this
            column.
          format: int64
        algorithmFieldName:
          type: string
          description: The name of the algorithm field that is associated with this column.
          readOnly: true
        algorithmGroupNo:
          type: integer
          description: >-
            The group number of algorithm to identify a set of columns
            associated with one instance of algorithm.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain assigned to this file field. File fields that
            are left unmasked should have this property unset. If the
            'domainName' is set, but the 'algorithmName' is unset, then the
            default algorithm corresponding to the 'domainName' will be used.
        dateFormat:
          maxLength: 50
          type: string
          description: The date format of the date assigned to this column.
        isMasked:
          type: boolean
          description: >-
            This field indicates whether or not a file field is being masked.
            This field is assigned by the Masking Engine to true or false based
            on whether the file field is assigned an algorithm and domain.
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a file filed's algorithm or
            domain assignment may be modified during the execution of a profile
            job when there is a profiling match.
        notes:
          maxLength: 500
          type: string
          description: >-
            This field is used to store additional information about the file
            field.
        documentStoreType:
          type: string
          description: >-
            This field indicates the type of document stored in the file field.
            Required in case where docStoreFileFormatId is provided. Accepted
            values: ['JSON','XML']
        docStoreFileFormatId:
          type: integer
          description: >-
            The ID number of the document store file format. Required in case
            where documentStoreType is provided.
          format: int32
        docStoreFileFormatName:
          type: string
          description: >-
            The name of the document store file format. Required in case where
            documentStoreType is assigned.
          readOnly: true
      example:
        recordTypeId: 1
        fieldName: FooField
        fieldPositionNumber: 6
        fieldLength: 10
        algorithmName: FirstNameLookup
        domainName: FIRST_NAME
        isProfilerWritable: false
    FileFieldMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileFieldMetadata'
    FileFormat:
      type: object
      properties:
        fileFormatId:
          type: integer
          description: >-
            The ID number of the file format. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        fileFormatName:
          maxLength: 100
          type: string
          description: The name of the file format, as inferred from the uploaded file.
          readOnly: true
        fileFormatType:
          type: string
          description: The type of file that this file format describes.
          readOnly: true
          enum:
            - DELIMITED
            - FIXED_WIDTH
            - XML
            - JSON
            - PARQUET
        header:
          type: integer
          description: The number of lines at the beginning of the file to skip.
          format: int32
        footer:
          type: integer
          description: The number of lines at the end of the file to skip.
          format: int32
        wholeFileMasking:
          type: boolean
          description: >-
            This flag indicates if the file format is associated with a file to
            be read as whole or line-by-line (Only for FIXED_WIDTH file type).
            For example, if the whole file masking is true, then the whole file
            will be read as a single record, rather than reading it line by
            line.
          readOnly: true
        fieldsCount:
          type: integer
          description: This returns the number of fields present in a file format.
          format: int64
          readOnly: true
        fileFormatDownloadId:
          type: string
          description: >-
            The ID of the file format download. This is used to download the
            file format.
          readOnly: true
      example:
        fileFormatId: '3'
        fileFormatName: DelimitedFileFormat.txt
        fileFormatType: DELIMITED
        header: 2
        footer: 1
    FileFormatList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileFormat'
    FileFormatMetadata:
      type: object
      properties:
        fileMetadataId:
          type: integer
          description: >-
            The ID of the file metadata. This field is set by the Masking
            Engine.
          format: int32
          readOnly: true
        fileName:
          maxLength: 255
          type: string
          description: >-
            The name of the file metadata. This name must match the name of a
            file in the ruleset it is created on. This name must be unique for
            the given ruleset; in other words, the same file cannot be added to
            a ruleset more than once.
          readOnly: true
        rulesetId:
          type: integer
          description: The ID of the ruleset to create the file metadata on.
          format: int32
        fileFormatId:
          type: integer
          description: >-
            The ID of the file format corresponding to this file. It is used to
            determine the fields for this file. This field is required.
          format: int32
        fileFormatName:
          maxLength: 100
          type: string
          description: The name of the file format, as inferred from the uploaded file.
        fileType:
          type: string
          description: >-
            The type of file this is. This field will match the file connector
            file type.
          readOnly: true
          enum:
            - DELIMITED
            - FIXED_WIDTH
            - XML
            - JSON
            - PARQUET
        delimiter:
          maxLength: 50
          type: string
          description: >-
            The delimiter for a delimited file. This field should be left blank
            for other file types.
        enclosure:
          maxLength: 5
          type: string
          description: The text enclosure for the file.
        enclosureEscapeCharacter:
          type: string
          description: >-
            The character used to escape a literal enclosure character within an
            enclosed value. By default, this is equal to the enclosure value
            itself, so doubling the enclosure character escape it.
        escapeEnclosureEscapeCharacter:
          type: boolean
          description: >-
            This flag indicates whether the enclosure escape character also
            escapes itself. For example, if the enclosure escape character is *,
            then the sequence ** would be treated as a single * character,
            rather than an escape.
          default: false
        endOfRecord:
          maxLength: 25
          type: string
          description: >-
            The string of characters that delineates the end-of-record for a
            file. Note that, for linux this is '\n', and for windows it is
            '\r\n'.
        nameIsRegularExpression:
          type: boolean
          description: Whether or not this file name represents a regular expression.
          default: false
        wholeFileMasking:
          type: boolean
          description: >-
            This flag indicates whether the file is to be read as whole or
            line-by-line (Only for FIXED_WIDTH file type). For example, if the
            whole file masking is true, then the whole file will be read as a
            single record, rather than reading it line by line.
          default: false
      example:
        fileName: file.delimited
        fileFormatName: format.delimited
        rulesetId: 1
        fileFormatId: 2
        delimiter: '*'
        endOfRecord: |+

    FileFormatMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileFormatMetadata'
    FileMetadata:
      required:
        - fileName
        - rulesetId
      type: object
      properties:
        fileMetadataId:
          type: integer
          description: >-
            The ID of the file metadata. This field is set by the Masking
            Engine.
          format: int32
          readOnly: true
        fileName:
          maxLength: 240
          type: string
          description: >-
            The name of the file metadata. This name must match the name of a
            file in the ruleset it is created on. This name must be unique for
            the given ruleset; in other words, the same file cannot be added to
            a ruleset more than once.
          readOnly: true
        rulesetId:
          type: integer
          description: The ID of the ruleset to create the file metadata on.
          format: int32
        fileFormatId:
          type: integer
          description: >-
            The ID of the file format corresponding to this file. It is used to
            determine the fields for this file. This field is required.
          format: int32
        fileType:
          type: string
          description: >-
            The type of file this is. This field will match the file connector
            file type.
          readOnly: true
          enum:
            - DELIMITED
            - FIXED_WIDTH
            - XML
            - JSON
            - PARQUET
        delimiter:
          maxLength: 50
          type: string
          description: >-
            The delimiter for a delimited file. This field should be left blank
            for other file types.
        enclosure:
          maxLength: 5
          type: string
          description: The text enclosure for the file.
        enclosureEscapeCharacter:
          type: string
          description: >-
            The character used to escape a literal enclosure character within an
            enclosed value. By default, this is equal to the enclosure value
            itself, so doubling the enclosure character escape it.
        escapeEnclosureEscapeCharacter:
          type: boolean
          description: >-
            This flag indicates whether the enclosure escape character also
            escapes itself. For example, if the enclosure escape character is *,
            then the sequence ** would be treated as a single * character,
            rather than an escape.
          default: false
        endOfRecord:
          maxLength: 25
          type: string
          description: >-
            The string of characters that delineates the end-of-record for a
            file. Note that, for linux this is '\n', and for windows it is
            '\r\n'.
        nameIsRegularExpression:
          type: boolean
          description: Whether or not this file name represents a regular expression.
          default: false
        wholeFileMasking:
          type: boolean
          description: >-
            This flag indicates whether the file is to be read as whole or
            line-by-line (Only for FIXED_WIDTH file type). For example, if the
            whole file masking is true, then the whole file will be read as a
            single record, rather than reading it line by line.
          default: false
      example:
        fileName: file.delimited
        rulesetId: 1
        fileFormatId: 2
        delimiter: '*'
        endOfRecord: |+

    FileMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileMetadata'
    FileMetadataBulkInput:
      required:
        - fileMetadata
      type: object
      properties:
        fileMetadata:
          type: array
          items:
            $ref: '#/components/schemas/FileMetadata'
    FileRuleset:
      required:
        - fileConnectorId
        - rulesetName
      type: object
      properties:
        fileRulesetId:
          type: integer
          description: The ID of the file ruleset. This field is set by the Masking Engine.
          format: int32
          readOnly: true
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
        fileConnectorId:
          type: integer
          description: >-
            The ID of the file connector that this ruleset corresponds to. Note
            that the ruleset will be created on the same environment as its
            connector.
          format: int32
      example:
        rulesetName: Rule123
        fileConnectorId: 1
    FileRulesetList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileRuleset'
    FileRulesetCopy:
      required:
        - newRulesetName
      type: object
      properties:
        newRulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
      example:
        newRulesetName: Rule123
    FileRulesetCSVExport:
      required:
        - exportFileName
      type: object
      properties:
        exportFileName:
          maxLength: 50
          type: string
          description: The name of the exported ruleset CSV file.
        fileReferenceId:
          type: string
          description: >-
            The reference URI of the exported ruleset file. Use this reference
            id in file download api to download the exported file.
          readOnly: true
      example:
        exportFileName: my-delimited-file-ruleset.csv
    FileRulesetCSVImport:
      type: object
      properties:
        importStatus:
          type: string
          readOnly: true
          enum:
            - SUCCESS
            - FAILED
            - WARNING
        message:
          type: array
          readOnly: true
          items:
            type: string
      example:
        importStatus: SUCCESS
        message:
          - Inventory imported successfully
    FileUpload:
      type: object
      properties:
        fileUuid:
          type: string
          description: >-
            The unique identifier of the uploaded file. This field is
            auto-generated by the Masking Engine. This field applies to
            permanently uploaded files only and can be used to update and delete
            a permanent file by its ID.
          readOnly: true
        fileReferenceId:
          type: string
          description: The reference URI of the uploaded file.
          readOnly: true
        filename:
          type: string
          description: The name of the file.
          readOnly: true
        fileSize:
          type: number
          description: The size in B (bytes) of the uploaded file.
          readOnly: true
        persistenceType:
          type: string
          description: >-
            The type of persistence of the uploaded file. Temporary/object
            indicates that the file was either uploaded as a temporary file or
            as a file associated with a masking object, like a JDBC driver or
            algorithm plugin.
          enum:
            - PERMANENT
            - OBJECT/TEMPORARY
      example:
        fileReferenceId: delphix-file://upload/f_08bb469a2ddc407bb97a31e96ed0a76a/foo.bar
    FileUploadList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FileUpload'
    Filter:
      type: object
      properties:
        filter_expression:
          type: string
          description: The condition specified in filter-query-language to search by.
          readOnly: true
      example:
        filter_expression: <attribute> EQ 123
    ForgotPassword:
      required:
        - userName
      type: object
      properties:
        userName:
          maxLength: 255
          type: string
          description: The username for logging into the Masking Engine.
      example:
        userName: maskinguser
    FreeTextRedactionExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            denyListRedaction:
              type: boolean
              description: Deny list redaction if true, allow list redaction if false.
              default: true
            lookupFileReferenceId:
              type: string
              description: >-
                The reference URI value returned from the endpoint for uploading
                the lookup file to the Masking Engine.
            lookupRedactionValue:
              maxLength: 255
              type: string
              description: >-
                The value to use to redact items matching entries specified in
                the lookup file.
            profileSetId:
              type: integer
              description: >-
                The ID number of the profile set for defining the pattern
                matching to use for identifying values for redaction.
              format: int32
            profileSetRedactionValue:
              maxLength: 255
              type: string
              description: >-
                The value to use to redact items matching patterns defined by
                the profile set.
    Guardrail:
      type: object
      properties:
        status:
          maxLength: 255
          type: string
          description: Severity of the issue.
        issue:
          maxLength: 255
          type: string
          description: Name of the issue.
        issueMetadata:
          type: array
          items:
            maxLength: 255
            type: string
      example:
        status: WARN
        issue: MISSING_DB_IDENTITY_COLUMN
        issueMetadata:
          - table1
          - table2
    GuardrailList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Guardrail'
    IntegerIdentifier:
      allOf:
        - $ref: '#/components/schemas/ObjectIdentifier'
        - required:
            - id
          type: object
          properties:
            id:
              type: integer
              format: int32
    InventoryApproval:
      required:
        - environmentId
        - inventoryStatus
        - rulesetName
      type: object
      properties:
        inventoryApprovalId:
          type: integer
          description: >-
            The ID of the Inventory Approval. This field will be generated by
            the Masking Engine.
          format: int32
          readOnly: true
        environmentId:
          type: integer
          description: The ID of the Environment.
          format: int32
          readOnly: true
        rulesetName:
          maxLength: 255
          type: string
          description: The name for this Ruleset inventory to be updated.
        inventoryStatus:
          type: string
          description: The inventory status of this Environment's inventory.
          enum:
            - NEW
            - SUBMITTED
            - APPROVED
            - REJECTED
        submitUserLoginNm:
          maxLength: 255
          type: string
          description: >-
            The login name of the user submitting the ruleset inventory to be
            approved.
        approvalUserLoginNm:
          maxLength: 255
          type: string
          description: >-
            The login name of the user approving or rejecting the ruleset
            inventory.
      example:
        inventoryApprovalId: 1
        environmentId: 1
        rulesetName: DelimitedFileRs
        inventoryStatus: SUBMITTED
    JdbcDriver:
      required:
        - driverClassName
        - driverName
      type: object
      properties:
        jdbcDriverId:
          type: integer
          description: >-
            The ID number of the driver. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        driverName:
          maxLength: 255
          type: string
          description: The name of the driver.
        driverClassName:
          maxLength: 255
          type: string
          description: The name of the class to use.
        description:
          maxLength: 1024
          type: string
          description: A description of the driver.
        version:
          maxLength: 255
          type: string
          description: The version of the driver.
          readOnly: true
        uploadedBy:
          maxLength: 255
          type: string
          description: The name of the user that uploaded the driver
          readOnly: true
        uploadDate:
          type: string
          description: The date the driver was updated.
          format: date-time
          readOnly: true
        checksum:
          type: string
          description: The md5 checksum of the uploaded driver.
          readOnly: true
        builtIn:
          type: boolean
          description: >-
            Whether this is a JDBC driver that is supported natively by the
            engine.
          readOnly: true
        loggerInstalled:
          type: boolean
          description: Whether a logger is successfully installed.
          readOnly: true
        fileReferenceId:
          type: string
          description: The file references ID of the uploaded zip file
        driverSupportId:
          type: integer
          description: The ID of the Driver Support plugin to use for this JDBC Driver.
          format: int64
      example:
        driverName: HANA driver
        driverClassName: com.sap.db.jdbc.Driver
        fileReferenceId: delphix-file://upload/f_08bb469a2ddc407bb97a31e96ed0a76a/foo.bar
    JdbcDriversList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/JdbcDriver'
    Job:
      type: object
      properties:
        jobId:
          type: integer
          description: >-
            The ID number of the job. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the job. Once the job is created, this field cannot be
            changed.
        jobType:
          maxLength: 50
          type: string
          description: The type of the job
        executionId:
          type: integer
          description: >-
            The ID of the latest execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        endTime:
          type: string
          description: The date and time that this execution completed.
          format: date-time
          readOnly: true
        status:
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - QUEUED
            - RUNNING
            - SUCCEEDED
            - WARNING
        rowsTotal:
          type: integer
          description: >-
            The total number of rows that this execution should mask. This value
            is set to -1 while the total row count is being calculated.
          format: int64
        rowsMasked:
          type: integer
          description: The number of rows masked or profiled so far by this execution.
          format: int64
        totalProgress:
          type: integer
          description: The number of rows masked or profiled so far by this execution.
          format: int32
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
        hasNonConformingData:
          type: boolean
          description: If latest execution has non-conforming data.
          readOnly: true
        runTime:
          type: string
          description: The run time for latest execution.
          readOnly: true
        multiTenant:
          type: boolean
          description: >-
            This field determines whether the job, after creation, can be
            executed using a connector that is different from the underlying
            connector associated with the ruleset that this job is based on.
          default: false
        onTheFly:
          type: boolean
          description: This field determines whether the job is an on-the-fly job.
          default: false
        rulesetType:
          type: string
          description: >-
            The type(table, dataset, delimited, jsonFile etc.) of the ruleset
            this job is assigned to.
          readOnly: true
      example:
        jobId: 5
        jobName: mask_job
        jobType: mask
        rulesetName: tempRuleSet
    JobList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Job'
    KeyIdentifier:
      allOf:
        - $ref: '#/components/schemas/ObjectIdentifier'
        - required:
            - keyId
          type: object
          properties:
            keyId:
              type: string
    KnowledgeBaseInfo:
      type: object
      properties:
        knowledgeBaseInfoId:
          type: integer
          description: The ID of the knowledge base entry.
          format: int64
          readOnly: true
        title:
          type: string
          description: The title for the knowledge base entry.
          readOnly: true
        link:
          type: string
          description: The link to the information in the knowledge base.
          readOnly: true
        tag:
          type: string
          description: >-
            The lookup tag associated with the information in the knowledge
            base.
          readOnly: true
      example:
        knowledgeBaseInfoId: 1
        title: Resolving table does not exist
        link: >-
          https://support.delphix.com/Delphix_Masking_Engine/Resolving_an_ORA-00942_error_while_Masking_data
        tag: ORA-00942
    KnowledgeBaseInfoList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/KnowledgeBaseInfo'
    License:
      type: object
      properties:
        licenseId:
          type: integer
          description: >-
            The ID number of the license. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        licenseFileName:
          maxLength: 100
          type: string
          description: The name of the license, as inferred from the uploaded file.
          readOnly: true
        licenseType:
          type: string
          description: The type of file that this license describes.
          readOnly: true
          enum:
            - JDBC_DRIVER
        jdbcDriverId:
          type: integer
          description: The ID number of the JDBC driver.
          format: int32
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the license was added. This field is auto-generated by
            the Masking Engine.
          format: date-time
          readOnly: true
      example:
        licenseId: '3'
        licenseFileName: license.bin
        licenseType: JDBC_DRIVER
        jdbcDriverId: '1'
        createdTime: '2023-03-15T12:16:35.964Z'
    LicenseList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/License'
    LogFileDetail:
      type: object
      properties:
        fileDownloadId:
          type: string
          description: >-
            The identifier to use when downloading the file via the
            /file-downloads endpoint.
        file-name:
          type: string
          description: The name of the log file.
        file-number:
          type: integer
          description: >-
            The number of the file ordered from most recent to least recent. The
            0th file represents the one that is currently being written to.
          format: int32
        timestamp:
          type: string
          description: The timestamp of the first statement in the log file.
    LogFileDetailList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/LogFileDetail'
    LogFileInfo:
      type: object
      properties:
        fileDownloadId:
          type: string
          description: >-
            The identifier to use when downloading the file via the
            /file-downloads endpoint.
        file-number:
          type: integer
          description: >-
            The number of the file ordered from most recent to least recent. The
            0th file represents the one that is currently being written to.
          format: int32
        logLevel:
          type: string
          description: The log level of the log file.
          enum:
            - DEBUG
            - ERROR
            - INFO
            - WARN
    LogFileInfoList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/LogFileInfo'
    LogPageInfo:
      type: object
      properties:
        logRolled:
          type: boolean
          description: Indicates whether the log file has been rotated.
        logFileNumber:
          type: integer
          description: The number of the log file.
        nextPageOffset:
          type: integer
          description: The offset to use when retrieving the next page from the log file.
        total:
          type: integer
          description: The total number of lines in the log file.
      example:
        logRolled: false
        logFileNumber: 0
        nextPageOffset: 100
        total: 1000
    LogPageRequest:
      type: object
      properties:
        logFileNumber:
          type: integer
          description: The number of the log file to retrieve.
        offset:
          type: integer
          description: The offset to use when retrieving the log file.
        pageSize:
          type: integer
          description: The number of lines to retrieve from the log file.
        timestamp:
          type: string
          description: The timestamp to identify whether the log file has been rolled.
      example:
        logFileNumber: 0
        offset: 0
        pageSize: 100
        timestamp: '2019-01-01T00:00:00Z'
    LogStatement:
      required:
        - logLevel
        - logStatement
      type: object
      properties:
        logStatement:
          maxLength: 1000
          type: string
          description: The statement to inject into the Masking Engine logs.
        logLevel:
          type: string
          description: The log level at which to inject the log statement.
          enum:
            - DEBUG
            - ERROR
            - INFO
            - WARN
      example:
        logStatement: This is a test.
        logLevel: ERROR
    LogStatementList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/LogPageInfo'
        responseList:
          type: array
          items:
            type: string
    Login:
      required:
        - password
        - username
      type: object
      properties:
        username:
          maxLength: 255
          type: string
          description: The username for logging into the Masking Engine.
        password:
          maxLength: 255
          type: string
          description: The password for logging into the Masking Engine.
          x-is-sensitive: true
      example:
        username: maskinguser
        password: secret123
    LoginResponse:
      type: object
      properties:
        Authorization:
          type: string
          description: >-
            The Authorization token to be provided in the headers of subsequent
            endpoint calls. Note that the timeout for the Authorization token is
            controlled by the 'API_AUTHORIZATION_TIMEOUT' property.
      example:
        Authorization: 415aac5d-SOME-RANDOM-STRING-af6cf70dc49e
    LongIdentifier:
      allOf:
        - $ref: '#/components/schemas/ObjectIdentifier'
        - required:
            - id
          type: object
          properties:
            id:
              type: integer
              format: int64
    MainframeDatasetConnector:
      required:
        - connectionInfo
        - connectorName
        - environmentId
      type: object
      properties:
        mainframeDatasetConnectorId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset connector. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        connectorName:
          maxLength: 45
          type: string
          description: The name of the Mainframe Dataset connector.
        environmentId:
          type: integer
          description: >-
            The ID number of the environment that the Mainframe Dataset
            connector is in. Once the Mainframe Dataset connector is created,
            this field cannot be changed.
          format: int32
        connectionInfo:
          $ref: '#/components/schemas/ConnectionInfo'
        authPresent:
          type: string
          description: >-
            Denotes whether authentication is present or not for this connector,
            UI only field
          readOnly: true
      example:
        connectorName: mainframe_dataset_connector_via_sftp
        environmentId: 123
        connectionInfo:
          connectionMode: SFTP
          path: /path/to/files
          host: host123.server.com
          loginName: ftpuser
          port: 23456
          sshKey: ssh_host_rsa_key
          userDirIsRoot: false
    MainframeDatasetConnectorList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetConnector'
    MainframeDatasetFieldDetails:
      type: object
      properties:
        mainframeDatasetFieldMetadataId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset field metadata. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset format that defines this
            Mainframe Dataset field.
          format: int32
          readOnly: true
        mainframeDatasetRecordTypeId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset record type that defines this
            Mainframe Dataset field.
          format: int32
          readOnly: true
        fieldName:
          maxLength: 100
          type: string
          description: >-
            The name of the Mainframe Dataset field, as determined by the
            associated Mainframe Dataset format.
          readOnly: true
        algorithmName:
          maxLength: 500
          type: string
          description: >-
            The name of the algorithm assigned to this Mainframe Dataset field.
            Mainframe Dataset fields that are unmasked should have this property
            unset, in addition to having 'domainName' unset. If this field is
            set, then the 'domainName' must also be specified.
        algorithmFieldId:
          type: integer
          description: >-
            The ID number of the algorithm field that is associated with this
            column.
          format: int64
        algorithmFieldName:
          type: string
          description: The name of the algorithm field that is associated with this column.
          readOnly: true
        algorithmGroupNo:
          type: integer
          description: >-
            The group number of algorithm to identify a set of columns
            associated with one instance of algorithm.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain assigned to this Mainframe Dataset field.
            Mainframe Dataset fields that are left unmasked should have this
            property unset. If the 'domainName' is set, but the 'algorithmName'
            is unset, then the default algorithm corresponding to the
            'domainName' will be used.
        dateFormat:
          maxLength: 50
          type: string
          description: >-
            The date format of the date assigned to this Mainframe Dataset
            field.
        isMasked:
          type: boolean
          description: >-
            This field indicates whether or not a Mainframe Dataset field is
            being masked. This field is assigned by the Masking Engine to true
            or false based on whether the Mainframe Dataset field is assigned an
            algorithm and domain.
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a Mainframe Dataset field (e.g.
            algorithm or domain assignment) may be modified during the execution
            of a profile job when there is a profiling match.
          default: false
        parentId:
          type: integer
          description: The ID number of the parent field of Mainframe Dataset field.
          format: int32
          readOnly: true
        hasChild:
          type: boolean
          description: >-
            This field indicates whether Mainframe Dataset field has child or
            not.
          readOnly: true
        redefines:
          type: string
          description: The field name which is being redefined.
          readOnly: true
        redefineCondition:
          type: string
          description: The 'redefine condition' for the record type.
          readOnly: true
        type:
          type: string
          description: >-
            The type of the field identified. It can be REDEF or REDEFINED based
            on Redefines.
          readOnly: true
      example:
        algorithmName: USCitiesLookup
        domainName: CITY
    MainframeDatasetFieldDetailsList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetFieldDetails'
    MainframeDatasetFieldMetadata:
      type: object
      properties:
        mainframeDatasetFieldMetadataId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset field metadata. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset format that defines this
            Mainframe Dataset field.
          format: int32
          readOnly: true
        fieldName:
          maxLength: 100
          type: string
          description: >-
            The name of the Mainframe Dataset field, as determined by the
            associated Mainframe Dataset format.
          readOnly: true
        algorithmName:
          maxLength: 500
          type: string
          description: >-
            The name of the algorithm assigned to this Mainframe Dataset field.
            Mainframe Dataset fields that are unmasked should have this property
            unset, in addition to having 'domainName' unset. If this field is
            set, then the 'domainName' must also be specified.
        algorithmFieldId:
          type: integer
          description: >-
            The ID number of the algorithm field that is associated with this
            column.
          format: int64
        algorithmGroupNo:
          type: integer
          description: >-
            The group number of algorithm to identify a set of columns
            associated with one instance of algorithm.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain assigned to this Mainframe Dataset field.
            Mainframe Dataset fields that are left unmasked should have this
            property unset. If the 'domainName' is set, but the 'algorithmName'
            is unset, then the default algorithm corresponding to the
            'domainName' will be used.
        dateFormat:
          maxLength: 50
          type: string
          description: >-
            The date format of the date assigned to this Mainframe Dataset
            field.
        isMasked:
          type: boolean
          description: >-
            This field indicates whether or not a Mainframe Dataset field is
            being masked. This field is assigned by the Masking Engine to true
            or false based on whether the Mainframe Dataset field is assigned an
            algorithm and domain.
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a Mainframe Dataset field (e.g.
            algorithm or domain assignment) may be modified during the execution
            of a profile job when there is a profiling match.
          default: false
        parentId:
          type: integer
          description: The ID number of the parent field of Mainframe Dataset field.
          format: int32
          readOnly: true
      example:
        algorithmName: FirstNameLookup
        domainName: FIRST_NAME
    MainframeDatasetFieldMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetFieldMetadata'
    MainframeDatasetFormat:
      type: object
      properties:
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID number of the Mainframe Dataset format. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        mainframeDatasetFormatName:
          maxLength: 100
          type: string
          description: >-
            The name of the Mainframe Dataset format, as inferred from the
            uploaded file.
          readOnly: true
      example:
        mainframeDatasetFormatId: '3'
        mainframeDatasetFormatName: MainframeDatasetFormat.txt
    MainframeDatasetFormatList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetFormat'
    MainframeDatasetFormatMetadata:
      type: object
      properties:
        mainframeDatasetMetadataId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset metadata. This field is set by the
            Masking Engine.
          format: int32
          readOnly: true
        fileName:
          maxLength: 255
          type: string
          description: >-
            The name of the Mainframe Dataset metadata. This name must match the
            name of a file in the ruleset it is created on. This name must be
            unique for the given ruleset; in other words, the same file cannot
            be added to a ruleset more than once.
        rulesetId:
          type: integer
          description: The ID of the ruleset to create the Mainframe Dataset metadata on.
          format: int32
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset format corresponding to this
            Mainframe Dataset metadata. It is used to determine the fields for
            this file.
          format: int32
        mainframeDatasetFormatName:
          type: string
          description: >-
            The name of the Mainframe Dataset format corresponding to this
            Mainframe Dataset metadata. It is used to determine the fields for
            this file.
        recordFormat:
          type: string
          description: >-
            The record format type for the mainframe data set. Note that this
            enum corresponds to the Variable Length checkbox in the UI.
          enum:
            - FIXED_BLOCKED
            - VARIABLE_BLOCKED
          default: FIXED_BLOCKED
        nameIsRegularExpression:
          type: boolean
          description: Whether or not this file name represents a regular expression.
          default: false
      example:
        fileName: file.dat
        rulesetId: 1
        mainframeDatasetFormatId: 2
        mainframeDatasetFormatName: MainframeDatasetFormat.txt
    MainframeDatasetFormatMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetFormatMetadata'
    MainframeDatasetMetadata:
      required:
        - fileName
        - rulesetId
      type: object
      properties:
        mainframeDatasetMetadataId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset metadata. This field is set by the
            Masking Engine.
          format: int32
          readOnly: true
        fileName:
          maxLength: 240
          type: string
          description: >-
            The name of the Mainframe Dataset metadata. This name must match the
            name of a file in the ruleset it is created on. This name must be
            unique for the given ruleset; in other words, the same file cannot
            be added to a ruleset more than once.
        rulesetId:
          type: integer
          description: The ID of the ruleset to create the Mainframe Dataset metadata on.
          format: int32
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset format corresponding to this
            Mainframe Dataset metadata. It is used to determine the fields for
            this file. This field is required.
          format: int32
        recordFormat:
          type: string
          description: >-
            The record format type for the mainframe data set. Note that this
            enum corresponds to the Variable Length checkbox in the UI.
          enum:
            - FIXED_BLOCKED
            - VARIABLE_BLOCKED
          default: FIXED_BLOCKED
        nameIsRegularExpression:
          type: boolean
          description: Whether or not this file name represents a regular expression.
          default: false
      example:
        fileName: file.dat
        rulesetId: 1
        mainframeDatasetFormatId: 2
    MainframeDatasetMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetMetadata'
    MainframeDatasetMetadataBulkInput:
      required:
        - mainframeDatasetMetadata
      type: object
      properties:
        mainframeDatasetMetadata:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetMetadata'
    MainframeDatasetRecordType:
      type: object
      properties:
        mainframeDatasetRecordTypeId:
          type: integer
          description: >-
            The ID number of the mainframe dataset record type. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        mainframeDatasetFormatId:
          type: integer
          description: >-
            The ID number of the mainframe dataset format this mainframe dataset
            record type refers to.
          format: int32
          readOnly: true
        mainframeDatasetRecordTypeName:
          maxLength: 255
          type: string
          description: The Name of the mainframe dataset record type.
          readOnly: true
        redefineCondition:
          type: string
          description: The 'redefine condition' for the record type.
        type:
          type: string
          description: >-
            The type of the field identified with
            mainframeDatasetFieldMetadataId.
          enum:
            - REDEFINED
            - REDEFINES
        mainframeDatasetFieldMetadataId:
          type: integer
          description: >-
            The ID number of the redefined or redefines mainframe dataset field
            metadata id to which this mainframe record type is associated.
          format: int32
          readOnly: true
      example:
        redefineCondition: '[EMP_TYPE]=''P'''
    MainframeDatasetRecordTypeList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetRecordType'
    MainframeDatasetRuleset:
      required:
        - mainframeDatasetConnectorId
        - rulesetName
      type: object
      properties:
        mainframeDatasetRulesetId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset ruleset. This field is set by the
            Masking Engine.
          format: int32
          readOnly: true
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
        mainframeDatasetConnectorId:
          type: integer
          description: >-
            The ID of the Mainframe Dataset Connector that this ruleset
            corresponds to. Note that the ruleset will be created on the same
            environment as its connector.
          format: int32
      example:
        rulesetName: Rule123
        mainframeDatasetConnectorId: 1
    MainframeDatasetRulesetList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetRuleset'
    MainframeDatasetRulesetCopy:
      required:
        - newRulesetName
      type: object
      properties:
        newRulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
      example:
        newRulesetName: Rule123
    MappingAlgorithmStats:
      required:
        - algorithmName
        - totalMappings
        - unusedMappings
      type: object
      properties:
        algorithmName:
          maxLength: 201
          type: string
          description: The name of the algorithm.
          readOnly: true
        totalMappings:
          type: integer
          description: The total number of mappings assigned to this mapping algorithm.
          format: int32
          readOnly: true
        unusedMappings:
          type: integer
          description: >-
            The total number of unused mappings assigned to this mapping
            algorithm.
          format: int32
          readOnly: true
      example:
        algorithmName: TestMapping
        totalMappings: 375
        unusedMappings: 42
    MappingExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            fileReferenceId:
              type: string
              description: >-
                The reference URI value returned from the endpoint for uploading
                files to the Masking Engine. The file should contain a newline
                separated list of mapping values.
            ignoreCharacters:
              type: array
              description: >-
                The integer ASCII values of characters to ignore in the column
                data to map
              items:
                maximum: 126
                minimum: 32
                type: integer
    MappletExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            mappletInput:
              maxLength: 500
              type: string
              description: The name of the input variable for the custom algorithm
            mappletOutput:
              maxLength: 500
              type: string
              description: The name of the output variable for the custom algorithm
            fileName:
              type: string
              description: The name of the uploaded file.
              readOnly: true
            fileReferenceId:
              type: string
              description: >-
                The reference URI value returned from the endpoint for uploading
                files to the Masking Engine.
            fileDownloadId:
              type: string
              description: >-
                This value is returned on GET. It can be fed into the
                file-downloads endpoint.
              readOnly: true
    MaskingJob:
      required:
        - jobName
        - rulesetId
      type: object
      properties:
        maskingJobId:
          type: integer
          description: >-
            The ID number of the masking job. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the masking job. Once the masking job is created, this
            field cannot be changed.
        rulesetId:
          type: integer
          description: >-
            The ID of the ruleset that this masking job is based on. Once the
            masking job is created, the underlying environment that is inferred
            from the ruleset will be unchangeable. That is, the job can only be
            updated to reference a ruleset that is in the same environment as
            the environment of the original ruleset.
          format: int32
        rulesetType:
          type: string
          description: The type of the ruleset that this masking job is assigned to.
          readOnly: true
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the masking job. This field is auto-generated
            by the Masking Engine.
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the masking job was created. This field is
            auto-generated by the Masking Engine.
          format: date-time
          readOnly: true
        email:
          type: string
          description: >-
            The email address to send job status notifications to; note that the
            SMTP settings must be configured first to receive notifications.
        feedbackSize:
          minimum: 1
          type: integer
          description: >-
            The granularity with which the Masking Engine provides updates on
            the progress of the masking job. For instance, a feedbackSize of
            50000 results in log updates whenever 50000 rows are processed
            during the masking phase.
          format: int32
        jobDescription:
          maxLength: 255
          type: string
          description: A description of the job.
        maxMemory:
          type: integer
          description: >-
            The maximum amount of memory, in MB, that the masking job can
            consume during execution.
          format: int32
        minMemory:
          type: integer
          description: >-
            The minimum amount of memory, in MB, that the masking job can
            consume during execution.
          format: int32
        multiTenant:
          type: boolean
          description: >-
            This field determines whether the masking job, after creation, can
            be executed using a connector that is different from the underlying
            connector associated with the ruleset that this masking job is based
            on.
          default: false
        numInputStreams:
          minimum: 1
          type: integer
          description: >-
            This field controls the amount of parallelism that the masking job
            uses to extract out the data to be masked. For instance, when
            masking a database, specifying 5 input streams results in the
            masking job reading up to 5 database tables in parallel and then
            masking those 5 streams of data in parallel. The higher the value of
            this field, the more potential parallelism there will be in the job,
            but the masking job will consume more memory. If the number of input
            streams exceeds the number of units being masked (e.g. tables or
            files), then the excess streams will do nothing.
          format: int32
          default: 1
        onTheFlyMasking:
          type: boolean
          description: >-
            This field determines whether the masking job will be performed
            InPlace or OnTheFly. The process for InPlace masking is to read out
            the data to be masked, mask the data, and then load the masked data
            back into the original data source. The process for OnTheFly masking
            is to read out the data to be masked, mask the data, and then load
            the masked data back into a different data source. When masking
            OnTheFly, the field 'onTheFlyMaskingSource' must be provided.
          default: false
        databaseMaskingOptions:
          $ref: '#/components/schemas/DatabaseMaskingOptions'
        onTheFlyMaskingSource:
          $ref: '#/components/schemas/OnTheFlyMaskingSource'
        failImmediately:
          type: boolean
          description: >-
            This field determines whether the masking job will fail immediately
            or delay failure until job completion when a masking algorithm fails
            to mask its data. Setting this value to 'false' provides a means for
            a user to see all cumulative masking errors before the job is marked
            as failed.
          default: false
        enabledTasks:
          type: array
          description: >-
            This field determines what tasks to perform before/after a job from
            a set of available driver support tasks as indicated by the chosen
            target ruleset/connector.
          items:
            $ref: '#/components/schemas/JobTask'
        streamRowLimit:
          minimum: -1
          type: integer
          description: >-
            This value constrains the total number of rows that may enter the
            job for each masking stream. A setting of 0 means unlimited. A value
            of -1 selects the default value. The default value for this setting
            varies by job type. The minimum explicit value allowed is 20
        nonconformantDataHandling:
          type: string
          description: >-
            Job-level handling for non-conforming data. When set, this overrides
            the global DefaultNonConformantDataHandling; otherwise the global
            ApplicationSetting is used
          enum:
            - FAIL
            - DONT_MASK
            - NULLIFY
            - UNSPECIFIED
      example:
        jobName: some_masking_job
        rulesetId: 7
        jobDescription: >-
          This example illustrates a MaskingJob with just a handful of the
          possible fields set. It is meant to exemplify a simple JSON body that
          can be passed to the endpoint to create a MaskingJob.
        feedbackSize: 100000
        onTheFlyMasking: false
        databaseMaskingOptions:
          batchUpdate: true
          commitSize: 20000
          dropConstraints: true
          prescript:
            name: my_prescript.sql
            contents: ALTER TABLE table_name DROP COLUMN column_name;
          postscript:
            name: my_postscript.sql
            contents: ALTER TABLE table_name ADD column_name VARCHAR(255);
        nonconformantDataHandling: FAIL
    MaskingJobList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MaskingJob'
    MaskingJobScript:
      required:
        - contents
        - name
      type: object
      properties:
        name:
          maxLength: 255
          type: string
          description: >-
            The name of the job SQL script, e.g. 'prescript.sql' or
            'postscript.sql'
        contents:
          type: string
          description: The file contents of the job SQL script.
    MinMaxExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            minValue:
              minimum: 0
              type: integer
              description: >-
                The minimum value for a Number range used in conjunction with
                maxValue. This field cannot be combined with minDate or maxDate.
              format: int32
            maxValue:
              minimum: 1
              type: integer
              description: >-
                The maximum value for a Number range used in conjunction with
                and must be greater than minValue. This field cannot be combined
                with minDate or maxDate.
              format: int32
            minDate:
              type: string
              description: >-
                The minimum value for a Date range used in conjunction with
                maxDate. The Date must be specified in one of the following
                formats according to RFC 3339 Section 5.6: "yyyy-MM-dd",
                "yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", or
                "EEE, dd MMM yyyy HH:mm:ss zzz". If a timezone is not specified,
                the Date will be interpreted as UTC. This field cannot be
                combined with minValue or maxValue.
              format: date
            maxDate:
              type: string
              description: >-
                The maximum value for a Date range used in conjunction with and
                must be greater than minDate. The Date must be specified in one
                of the following formats according to RFC 3339 Section 5.6:
                "yyyy-MM-dd", "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", or "EEE, dd MMM yyyy HH:mm:ss
                zzz". If a timezone is not specified, the Date will be
                interpreted as UTC. This field cannot be combined with minValue
                or maxValue.
              format: date
            outOfRangeDefaultValue:
              maxLength: 255
              type: string
              description: >-
                The default replacement value for any value that is
                out-of-range.
    MonitorJobsInformation:
      type: object
      properties:
        noOfWaitingJob:
          type: integer
          description: The total no of jobs in queue.
          format: int32
          readOnly: true
        noOfRunningJob:
          type: integer
          description: The total no of jobs currently running.
          format: int32
          readOnly: true
        maxRunningJobsCount:
          type: integer
          description: The total no of simultaneous jobs runs possible.
          format: int32
          readOnly: true
        memoryInUseForJobs:
          type: integer
          description: The total memory size in MB currently being used by running jobs.
          format: int32
          readOnly: true
        totalAllocatedMemoryForJobs:
          type: integer
          description: >-
            The total memory size in MB allocated for running jobs on the
            Masking Engine.
          format: int32
          readOnly: true
        defaultStreamsProfiling:
          type: integer
          description: The default number of profiling streams on the Masking Engine.
          format: int32
          readOnly: true
        defaultStreamsMasking:
          type: integer
          description: The default number of masking streams on the Masking Engine.
          format: int32
          readOnly: true
        defaultUpdateThreads:
          type: integer
          description: The default number of update threads on the Masking Engine.
          format: int32
          readOnly: true
        defaultProfileSetName:
          type: string
          description: >-
            The default ASDD profile-set name for a new profiling job on the
            Masking Engine.
          readOnly: true
      example:
        noOfWaitingJob: 3
        noOfRunningJob: 5
        maxRunningJobsCount: 5
        defaultStreamsProfiling: 2
        defaultStreamsMasking: 2
        defaultUpdateThreads: 2
        defaultProfileSetName: ASDD Standard
        memoryInUseForJobs: '1720'
        totalAllocatedMemoryForJobs: '20480'
    MonitorTask:
      required:
        - taskId
        - taskType
      type: object
      properties:
        taskId:
          type: integer
          description: >-
            The ID of the monitorable Task. This field will be generated by the
            Masking Engine, correspond to taskType 
          format: int32
          readOnly: true
        taskType:
          type: string
          description: The type of async task to monitor.
          readOnly: true
          enum:
            - EXECUTIONS
            - ASYNC_TASK
        progression:
          type: array
          items:
            $ref: '#/components/schemas/TaskEvents'
      example:
        taskId: 123
        taskType: EXECUTIONS
        progression:
          - event: event1
            order: 1
            status: SUCCEEDED
          - event: event2
            order: 2
            status: SKIPPED
          - event: event3
            order: 3
            status: RUNNING
          - event: event4
            order: 4
            status: QUEUED
          - event: event5
            order: 5
            status: QUEUED
    MonitorTaskList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MonitorTask'
    MountInformation:
      required:
        - hostAddress
        - mountName
        - mountPath
        - type
      type: object
      properties:
        mountId:
          type: integer
          description: >-
            The ID number of the mount. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        mountName:
          maxLength: 255
          minLength: 1
          type: string
          description: The name of the mount. This field must be unique.
        hostAddress:
          maxLength: 255
          minLength: 1
          type: string
          description: The host address of the server. This field cannot be changed.
        mountPath:
          maxLength: 4096
          minLength: 1
          type: string
          description: >-
            The path to the directory on the filesystem to mount. This field
            cannot be changed.
        type:
          type: string
          description: The type of filesystem. This field cannot be changed.
          enum:
            - CIFS
            - NFS3
            - NFS4
            - EXTERNAL
        connectOnStartup:
          type: boolean
          description: >-
            This field determines whether this filesystem will be automatically
            connected (mounted) on startup of the masking engine. Note that all
            mounts will be disconnected on shutdown of the masking engine.
          default: true
        options:
          maxLength: 4096
          type: string
          description: >-
            The options for mount. The endpoint will return all default options
            and user specified options.
          x-is-sensitive: true
        status:
          type: string
          description: >-
            The connection status for mount. This field is automatically managed
            by the masking engine.
          readOnly: true
          enum:
            - ACTIVE
            - DISCONNECTED
        mountDevice:
          maxLength: 255
          minLength: 1
          type: string
          description: >-
            The mounted device IP/URI and the local path on that device.
            Automatically auto-discovered in containerized masking environment.
            The field is empty when running in the Delphix Virtual Appliance.
            This field cannot be changed.
          readOnly: true
        localMountPath:
          maxLength: 4096
          minLength: 1
          type: string
          description: >-
            The path to the mounted local directory on the containerized masking
            engine. Automatically auto-discovered in containerized masking
            environment. The field is empty when running in the Delphix Virtual
            Appliance. This field cannot be changed.
          readOnly: true
      example:
        mountName: my_mount
        hostAddress: some.host.com
        mountPath: /path/to/my/mount
        type: NFS4
        options: comma,delimited,options,list
        connectOnStartup: true
    MountInformationList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/MountInformation'
    NonAdminProperties:
      required:
        - roleId
      type: object
      properties:
        roleId:
          type: integer
          description: The ID of the role assigned to this User.
          format: int32
        environmentIds:
          type: array
          description: >-
            The list of ID numbers that correspond to the environments that this
            User has access to.
          items:
            type: integer
            format: int32
      example:
        roleId: 1
        environmentIds:
          - 1
          - 3
          - 7
    NonConformantDataSamples:
      type: object
      properties:
        dataSampleId:
          type: integer
          description: The ID of the non-conformant data sample.
          format: int64
          readOnly: true
        executionEventId:
          type: integer
          description: The ID of the execution event this sample is associated with.
          format: int64
          readOnly: true
        dataSample:
          type: string
          description: >-
            The redacted value of the non-conformant field data that could not
            be masked by the assigned algorithm.
          readOnly: true
        count:
          type: integer
          description: The approximate number of times this data pattern was encountered.
          format: int64
          readOnly: true
      example:
        dataSampleId: 1
        executionEventId: 1
        dataSample: NNNNNNNNNN
        count: 1
    OAuth2Ready:
      required:
        - isOAuth2ReadyWithEmailAddressMatching
        - isOAuth2ReadyWithNameMatching
        - isOAuth2ReadyWithPrincipalMatching
      type: object
      properties:
        isOAuth2ReadyWithNameMatching:
          type: boolean
          description: >-
            Whether or not the Masking Engine is ready to enable OAuth2 with
            user matching based on the name property.
        isOAuth2ReadyWithEmailAddressMatching:
          type: boolean
          description: >-
            Whether or not the Masking Engine is ready to enable OAuth2 with
            user matching based on the email_address property.
        isOAuth2ReadyWithPrincipalMatching:
          type: boolean
          description: >-
            Whether or not the Masking Engine is ready to enable OAuth2 with
            user matching based on the principal property.
      example:
        isOAuth2ReadyWithNameMatching: false
        isOAuth2ReadyWithEmailAddressMatching: false
        isOAuth2ReadyWithPrincipalMatching: false
    ObjectIdentifier:
      type: object
      discriminator:
        propertyName: objectIdentifier
    OnTheFlyMaskingSource:
      required:
        - connectorId
      type: object
      properties:
        connectorId:
          type: integer
          description: The ID number of the source connector for the OnTheFly masking job.
          format: int32
        connectorType:
          type: string
          description: The type of the source connector for the OnTheFly masking job.
          enum:
            - DATABASE
            - FILE
            - VSAM
    PageInfo:
      type: object
      properties:
        numberOnPage:
          type: integer
          description: >-
            The number of items on this page. This should always match the page
            size unless it is the last page.
          format: int64
        total:
          type: integer
          description: The total number of items
          format: int64
    PasswordVault:
      type: object
      properties:
        passwordVaultId:
          type: integer
          description: >-
            The ID of the password vault. This field is set by the Masking
            Engine.
          format: int32
          readOnly: true
        name:
          maxLength: 255
          type: string
          description: >-
            The name of the password vault. This must be unique across all
            password vaults on the engine.
        vaultType:
          type: string
          description: >-
            The type of password vault. Currently, HASHICORP, CYBERARK and GCP
            are supported.
          enum:
            - CYBERARK
            - HASHICORP
            - GCP
            - AZURE
          default: HASHICORP
        configJson:
          type: object
          properties: {}
          description: The configuration properties used to connect to the password vault.
          x-is-sensitive: true
        description:
          maxLength: 1024
          type: string
          description: The description of the password vault.
      example:
        name: SampleVault
        vaultType: HASHICORP
        configJson:
          host: 12.345.678.90
          port: 8200
          namespace: sample/child
          authType: TOKEN
          token: hvs.kvIT
        description: This password vault is used as an API example.
    PasswordVaultList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/PasswordVault'
    Plugin:
      allOf:
        - $ref: '#/components/schemas/PluginBase'
        - type: object
          properties:
            originalFileName:
              type: string
              description: The original name of the plugin JAR file
              readOnly: true
            originalFileChecksum:
              type: string
              description: The hex string value of the SHA-256 hash of the plugin JAR file
              readOnly: true
            installDate:
              type: string
              description: Date and time when this plugin was installed
              format: date-time
              readOnly: true
            installUser:
              type: integer
              description: The login ID of the user that installed this plugin
              format: int32
              readOnly: true
            builtIn:
              type: boolean
              description: >-
                Whether this plugin was included with Delphix Engine software
                distribution
              readOnly: true
            pluginVersion:
              type: string
              description: The string version identifier of the plugin
              readOnly: true
            description:
              type: string
              description: The description of the plugin
              readOnly: true
            pluginObjects:
              type: array
              description: List of objects included in the plugin
              items:
                $ref: '#/components/schemas/PluginObject'
          example:
            pluginId: 1
            pluginName: myPlugin
            originalFileName: algorithm.jar
            jarFingerprint: dce2599f5ece9441a4b84194313245b65618490a47cead870c3327738decd052
            installDate: 2019-09-19T19:43:09.762+0000
            installUser: 5
            builtIn: false
            pluginVersion: 1.0.0-RELEASE
            algorithmNames:
              - myAlgorithm1
              - myAlgorithm2
    PluginObject:
      type: object
      properties:
        objectIdentifier:
          type: string
          readOnly: true
        objectName:
          type: string
          readOnly: true
        objectType:
          type: string
          description: The type of plugin object
          readOnly: true
          enum:
            - ALGORITHM
            - ALGORITHM_FRAMEWORK
            - DRIVER_SUPPORT_TASK
    PluginBase:
      type: object
      properties:
        pluginId:
          type: integer
          description: The id of the plugin
          format: int64
          readOnly: true
        pluginName:
          type: string
          description: The name of the plugin
          readOnly: true
        pluginAuthor:
          type: string
          description: The author of the plugin
          readOnly: true
        pluginType:
          type: string
          description: The type of plugin
          readOnly: true
          enum:
            - EXTENDED_ALGORITHM
            - DRIVER_SUPPORT
      example:
        pluginId: 1
        pluginName: myPlugin
        pluginAuthor: pluginAuthor
        pluginType: EXTENDED_ALGORITHM
    Privilege:
      type: object
      properties:
        copy:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to copy the object it is applied to.
          default: false
        create:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to create the object it is applied to.
          default: false
        delete:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to delete the object it is applied to.
          default: false
        export:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to export the object it is applied to.
          default: false
        import:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to import the object it is applied to.
          default: false
        run:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to run the object it is applied to.
          default: false
        update:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to update the object it is applied to.
          default: false
        view:
          type: boolean
          description: >-
            This field indicates whether or not this privilege has the ability
            to view the object it is applied to.
          default: false
      example:
        copy: true
        delete: true
        view: true
    ProfileJob:
      required:
        - jobName
        - profileSetId
        - rulesetId
      type: object
      properties:
        profileJobId:
          type: integer
          description: >-
            The ID number of the profile job. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the profile job. Once the profile job is created, this
            field cannot be changed.
        profileSetId:
          type: integer
          description: >-
            The ID number of the profile set to be used during the profiling
            phase.
          format: int32
        rulesetId:
          type: integer
          description: >-
            The ID of the ruleset that this profile job is targeting. Once the
            profile job is created, the underlying environment that is inferred
            from the ruleset will be unchangeable. That is, the job can only be
            updated to reference a ruleset that is in the same environment as
            the environment of the original ruleset.
          format: int32
        rulesetType:
          type: string
          description: The type of the ruleset that this profile job is assigned to.
          readOnly: true
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the profile job. This field is auto-generated
            by the Masking Engine.
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the profile job was created. This field is
            auto-generated by the Masking Engine.
          format: date-time
          readOnly: true
        email:
          type: string
          description: >-
            The email address to send job status notifications to; note that the
            SMTP settings must be configured first to receive notifications.
        feedbackSize:
          minimum: 1
          type: integer
          description: >-
            The granularity with which the Masking Engine provides updates on
            the progress of the profile job. For instance, a feedbackSize of
            50000 results in log updates whenever 50000 rows are processed
            during the profiling phase.
          format: int32
        jobDescription:
          maxLength: 255
          type: string
          description: A description of the job.
        maxMemory:
          type: integer
          description: >-
            The maximum amount of memory, in MB, that the profile job can
            consume during execution.
          format: int32
        minMemory:
          type: integer
          description: >-
            The minimum amount of memory, in MB, that the profile job can
            consume during execution.
          format: int32
        multiTenant:
          type: boolean
          description: >-
            This field determines whether the profile job, after creation, can
            be executed using a connector that is different from the underlying
            connector associated with the ruleset that this profile job is
            targeting.
          default: false
        numInputStreams:
          minimum: 1
          type: integer
          description: >-
            This field controls the amount of parallelism that the profile job
            uses to extract out the data to be profiled. For instance, when
            profiling a database, specifying 5 input streams results in the
            profile job reading up to 5 database tables in parallel and then
            profiling those 5 streams of data in parallel. The higher the value
            of this field, the more potential parallelism there will be in the
            job, but the profile job will consume more memory. If the number of
            input streams exceeds the number of units being profiled (e.g.
            tables or files), then the excess streams will do nothing.
          format: int32
          default: 1
        multipleProfilerCheck:
          type: boolean
          description: >-
            This field determines whether the profiler stops after it flags a
            field as sensitive or if it continues to scan for more sensitive
            patterns.
          default: false
        resetProfilingAssignments:
          type: boolean
          description: >-
            This field determines whether the inventory domain assignments for
            the previous profiling execution needs to be cleared before the
            current execution of an ASDD job (defaults to 'false'). This field
            has no effect on legacy profiling and is always 'true'.
          nullable: true
      example:
        jobName: minimal_profile_job
        profileSetId: 2
        rulesetId: 7
        jobDescription: >-
          This example value illustrates the minimal set of fields required to
          create a ProfileJob. All other fields have default values. Refer to
          the extensive documentation on the ProfileJob object for reference on
          the other, optional fields.
    ProfileJobList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileJob'
    ProfileResultDatabase:
      type: object
      properties:
        columnMetadataId:
          type: integer
          description: >-
            The ID number of the column metadata. This field is auto-generated
            by the Masking Engine.
          format: int64
          readOnly: true
        columnName:
          type: string
          description: The name of the column.
          readOnly: true
        tableName:
          type: string
          description: The name of the table.
          readOnly: true
        domainName:
          type: string
          description: The name of the domain assigned to the column.
          readOnly: true
        algorithmName:
          type: string
          description: The name of the algorithm assigned to the column.
          readOnly: true
        dataType:
          type: string
          description: The data type of the column.
          readOnly: true
        confidence:
          type: integer
          description: The confidence level.
          format: int32
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a column's fields (e.g.
            algorithm or domain assignment) may be modified during the execution
            of a profile job when there is a profiling match.
          readOnly: true
      example:
        columnMetadataId: 1
        columnName: first_name
        tableName: test_table
        domainName: FirstName
        algorithmName: FirstNameAlgorithm
        dataType: String
        confidence: 100
        isProfilerWritable: true
    ProfileResultDatabaseList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileResultDatabase'
    ProfileResultFile:
      type: object
      properties:
        fieldMetadataId:
          type: integer
          description: >-
            The ID number of the field metadata. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        fieldName:
          type: string
          description: The name of the file field.
          readOnly: true
        fileName:
          type: string
          description: The name of the file.
          readOnly: true
        domainName:
          type: string
          description: The name of the domain assigned to the field.
          readOnly: true
        algorithmName:
          type: string
          description: The name of the algorithm assigned to the field.
          readOnly: true
        confidence:
          type: integer
          description: The confidence level.
          format: int32
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not the file-field's (e.g. algorithm
            or domain assignment) may be modified during the execution of a
            profile job when there is a profiling match.
          readOnly: true
      example:
        fieldMetadataId: 1
        fieldName: Field
        fileName: File
        domainName: FirstName
        algorithmName: FirstNameAlgorithm
        confidence: 100
        isProfilerWritable: true
    ProfileResultFileList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileResultFile'
    ProfileResultMainframe:
      type: object
      properties:
        fieldMetadataId:
          type: integer
          description: >-
            The ID number of the pii field metadata. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        fieldName:
          type: string
          description: The name of the mainframe file field
          readOnly: true
        fileName:
          type: string
          description: The name of the file.
          readOnly: true
        domainName:
          type: string
          description: The name of the domain assigned to the field.
          readOnly: true
        algorithmName:
          type: string
          description: The name of the algorithm assigned to the field.
          readOnly: true
        confidence:
          type: integer
          description: The confidence level.
          format: int32
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not the file-field's (e.g. algorithm
            or domain assignment) may be modified during the execution of a
            profile job when there is a profiling match.
          readOnly: true
      example:
        fieldMetadataId: 1
        fieldName: Field
        fileName: File
        domainName: FirstName
        algorithmName: FirstNameAlgorithm
        confidence: 100
        isProfilerWritable: true
    ProfileResultMainframeList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileResultMainframe'
    ProfileSet:
      required:
        - profileSetName
      type: object
      properties:
        profileSetId:
          type: integer
          description: >-
            The ID number of the profile set. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        profileSetName:
          maxLength: 100
          type: string
          description: The name of the profile set; it must be unique.
        profileExpressionIds:
          type: array
          description: Profile sets with profile expressions can no longer be created.
          items:
            type: integer
            format: int32
        profileTypeExpressionIds:
          type: array
          description: Profile sets with profile expressions can no longer be created.
          items:
            type: integer
            format: int32
        classifierIds:
          type: array
          description: >-
            The list of ID numbers that correspond to the profile classifiers
            that belong in this profile set.
          items:
            type: integer
            format: int64
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the profile set. This field is auto-generated
            by the Masking Engine.
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the profile set was created. This field is
            auto-generated by the Masking Engine.
          format: date-time
          readOnly: true
        description:
          maxLength: 50
          type: string
          description: A description of the purpose of the profile set.
        assignmentThreshold:
          type: integer
          description: >-
            The confidence threshold that must be met or exceeded for the ASDD
            profiler to make a domain and algorithm assignment. This must be an
            integer from 1-100. If not specified, the value defaults to the
            application setting for ASDD called DefaultAssignmentThreshold.
          format: int32
      example:
        profileSetName: FINDS_ALL_SENSITIVE_DATA
        classifierIds:
          - 4
          - 8
          - 12
          - 13
          - 27
    ProfileSetAssignmentDetail:
      type: object
      properties:
        assignmentType:
          type: string
          description: The type of profile set usage.
          readOnly: true
          enum:
            - DATABASE
            - FILE
            - MAINFRAME
        environmentName:
          type: string
          description: The environment where the profile set usage occurs, if any.
          readOnly: true
        environmentId:
          type: integer
          description: >-
            The ID of the environment where the profile set usage occurs, if
            any.
          format: int64
          readOnly: true
        jobName:
          type: string
          description: The job where the profile set usage occurs, if any.
          readOnly: true
        jobId:
          type: integer
          description: The ID of the job where the profile set usage occurs, if any.
          format: int64
          readOnly: true
        rulesetName:
          type: string
          description: The target ruleset where the profile set usage occurs, if any.
          readOnly: true
        rulesetId:
          type: integer
          description: >-
            The ID of the target ruleset where the profile set usage occurs, if
            any.
          format: int64
          readOnly: true
    ProfileSetList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileSet'
    ProfileSetUsageList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ProfileSetUsageReport'
    ProfileSetUsageReport:
      required:
        - profileSetId
        - profileSetName
      type: object
      properties:
        profileSetName:
          type: string
          description: The name of the profile set to which this usage report applies.
          readOnly: true
        profileSetId:
          type: integer
          description: The ID of the profile set to which this usage report applies.
          format: int64
          readOnly: true
        jobIds:
          type: array
          description: A list of the IDs of all jobs where the profile set is used.
          items:
            type: integer
            format: int64
        assignmentDetails:
          type: array
          description: >-
            A extended usage objects that describe the full path to each profile
            set usage for all assignments.
          items:
            $ref: '#/components/schemas/ProfileSetAssignmentDetail'
    ReidentificationJob:
      required:
        - jobName
        - rulesetId
      type: object
      properties:
        reidentificationJobId:
          type: integer
          description: >-
            The ID number of the re-identification job. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the re-identification job. Once the re-identification
            job is created, this field cannot be changed.
        rulesetId:
          type: integer
          description: >-
            The ID of the ruleset that this re-identification job is based on.
            Once the re-identification job is created, the underlying
            environment that is inferred from the ruleset will be unchangeable.
            That is, the job can only be updated to reference a ruleset that is
            in the same environment as the environment of the original ruleset.
          format: int32
        rulesetType:
          type: string
          description: >-
            The type of the ruleset that this re-identification job is assigned
            to.
          readOnly: true
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the re-identification job. This field is
            auto-generated by the Masking Engine.
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the re-identification job was created. This field is
            auto-generated by the Masking Engine.
          format: date-time
          readOnly: true
        email:
          type: string
          description: >-
            The email address to send job status notifications to; note that the
            SMTP settings must be configured first to receive notifications.
        feedbackSize:
          minimum: 1
          type: integer
          description: >-
            The granularity with which the Masking Engine provides updates on
            the progress of the re-identification job. For instance, a
            feedbackSize of 50000 results in log updates whenever 50000 rows are
            processed during the masking phase.
          format: int32
        jobDescription:
          maxLength: 255
          type: string
          description: A description of the job.
        maxMemory:
          type: integer
          description: >-
            The maximum amount of memory, in MB, that the re-identification job
            can consume during execution.
          format: int32
        minMemory:
          type: integer
          description: >-
            The minimum amount of memory, in MB, that the re-identification job
            can consume during execution.
          format: int32
        multiTenant:
          type: boolean
          description: >-
            This field determines whether the re-identification job, after
            creation, can be executed using a connector that is different from
            the underlying connector associated with the ruleset that this
            re-identification job is based on.
          default: false
        numInputStreams:
          minimum: 1
          type: integer
          description: >-
            This field controls the amount of parallelism that the
            re-identification job uses to extract out the data to be masked. For
            instance, when masking a database, specifying 5 input streams
            results in the re-identification job reading up to 5 database tables
            in parallel and then masking those 5 streams of data in parallel.
            The higher the value of this field, the more potential parallelism
            there will be in the job, but the re-identification job will consume
            more memory. If the number of input streams exceeds the number of
            units being masked (e.g. tables or files), then the excess streams
            will do nothing.
          format: int32
          default: 1
        onTheFlyMasking:
          type: boolean
          description: >-
            This field determines whether the re-identification job will be
            performed InPlace or OnTheFly. The process for InPlace masking is to
            read out the data to be masked, mask the data, and then load the
            masked data back into the original data source. The process for
            OnTheFly masking is to read out the data to be masked, mask the
            data, and then load the masked data back into a different data
            source. When masking OnTheFly, the field 'onTheFlyMaskingSource'
            must be provided.
          default: false
        databaseMaskingOptions:
          $ref: '#/components/schemas/DatabaseMaskingOptions'
        onTheFlyMaskingSource:
          $ref: '#/components/schemas/OnTheFlyMaskingSource'
        failImmediately:
          type: boolean
          description: >-
            This field determines whether the masking job will fail immediately
            or delay failure until job completion when a masking algorithm fails
            to mask its data. Setting this value to 'false' provides a means for
            a user to see all cumulative masking errors before the job is marked
            as failed.
          default: false
        enabledTasks:
          type: array
          description: >-
            This field determines what tasks to perform before/after a job from
            a set of available driver support tasks as indicated by the chosen
            target ruleset/connector.
          items:
            $ref: '#/components/schemas/JobTask'
        streamRowLimit:
          minimum: -1
          type: integer
          description: >-
            This value constrains the total number of rows that may enter the
            job for each masking stream. A setting of 0 means unlimited. A value
            of -1 selects the default value. The default value for this setting
            varies by job type. The minimum explicit value allowed is 20
      example:
        jobName: some_reidentification_job
        rulesetId: 7
        jobDescription: >-
          This example illustrates a ReidentificationJob with just a handful of
          the possible fields set. It is meant to exemplify a simple JSON body
          that can be passed to the endpoint to create a ReidentificationJob.
        feedbackSize: 100000
        onTheFlyMasking: false
        databaseMaskingOptions:
          batchUpdate: true
          commitSize: 20000
          dropConstraints: true
          prescript:
            name: my_prescript.sql
            contents: ALTER TABLE table_name DROP COLUMN column_name;
          postscript:
            name: my_postscript.sql
            contents: ALTER TABLE table_name ADD column_name VARCHAR(255);
    ReidentificationJobList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ReidentificationJob'
    RecordType:
      type: object
      properties:
        recordTypeId:
          type: integer
          description: >-
            The ID number of the record type. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        recordTypeName:
          maxLength: 255
          type: string
          description: The name of the record type.
        fileFormatId:
          type: integer
          description: The ID number of the file format that the record type refers to.
          format: int32
      example:
        recordTypeId: '3'
        recordTypeName: Record1
        fileFormatId: '1'
    RecordTypeList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/RecordType'
    RecordTypeQualifier:
      type: object
      properties:
        recordTypeQualifierId:
          type: integer
          description: >-
            The ID number of the record type qualifier. This field is
            auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        recordTypeId:
          type: integer
          description: >-
            The ID number of the record type that the record type qualifier
            refers to.
          format: int32
        pattern:
          maxLength: 255
          type: string
          description: The pattern to match against the record type field.
        fileFieldMetadataId:
          type: integer
          description: The ID of the record type field the record type qualifier refers to.
          format: int32
      example:
        recordTypeQualifierId: '3'
        recordTypeId: '1'
        pattern: SSN
        fileFieldMetadataId: '1'
    RecordTypeQualifierList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/RecordTypeQualifier'
    ResetPassword:
      required:
        - password
        - token
        - userName
      type: object
      properties:
        userName:
          maxLength: 255
          type: string
          description: The username for resetting the password
        token:
          maxLength: 255
          type: string
          description: 'The generated token received in the email '
          x-is-sensitive: true
        password:
          maxLength: 255
          type: string
          description: The new password for this username.
          x-is-sensitive: true
      example:
        userName: maskinguser
        token: abc
        password: Secret123!
    Role:
      required:
        - roleName
      type: object
      properties:
        roleId:
          type: integer
          description: >-
            The ID of the Role. This field will be generated by the Masking
            Engine.
          format: int32
          readOnly: true
        roleName:
          maxLength: 255
          type: string
          description: The name for this Role. Note that it must be unique.
        roleType:
          type: string
          description: >-
            The type for this Role. All built-in roles will have type as
            'DEFAULT' while roles created by user will have type as 'CUSTOM'.
          readOnly: true
          enum:
            - CUSTOM
            - DEFAULT
        environment:
          $ref: '#/components/schemas/Privilege'
        connector:
          $ref: '#/components/schemas/Privilege'
        ruleset:
          $ref: '#/components/schemas/Privilege'
        inventory:
          $ref: '#/components/schemas/Privilege'
        profileJob:
          $ref: '#/components/schemas/Privilege'
        maskingJob:
          $ref: '#/components/schemas/Privilege'
        tokenizeJob:
          $ref: '#/components/schemas/Privilege'
        reidentifyJob:
          $ref: '#/components/schemas/Privilege'
        domain:
          $ref: '#/components/schemas/Privilege'
        algorithm:
          $ref: '#/components/schemas/Privilege'
        jdbcDriver:
          $ref: '#/components/schemas/Privilege'
        passwordVault:
          $ref: '#/components/schemas/Privilege'
        plugin:
          $ref: '#/components/schemas/Privilege'
        classifier:
          $ref: '#/components/schemas/Privilege'
        profileSet:
          $ref: '#/components/schemas/Privilege'
        fileFormat:
          $ref: '#/components/schemas/Privilege'
        user:
          $ref: '#/components/schemas/Privilege'
        diagnostic:
          $ref: '#/components/schemas/Privilege'
        inventoryReport:
          $ref: '#/components/schemas/Privilege'
        approveInventories:
          $ref: '#/components/schemas/Privilege'
      example:
        roleName: NewRole
        environment:
          copy: true
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        connector:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        ruleset:
          copy: true
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        inventory:
          copy: false
          create: false
          delete: false
          export: true
          import: true
          run: false
          update: true
          view: true
        profileJob:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: true
          update: true
          view: true
        maskingJob:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: true
          update: true
          view: true
        tokenizeJob:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: true
          update: true
          view: true
        reidentifyJob:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: true
          update: true
          view: true
        domain:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        algorithm:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        jdbcDriver:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        passwordVault:
          copy: false
          create: false
          delete: false
          export: false
          import: false
          run: false
          update: false
          view: false
        plugin:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        classifier:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        profileSet:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        fileFormat:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: false
          view: true
        user:
          copy: false
          create: true
          delete: true
          export: false
          import: false
          run: false
          update: true
          view: true
        diagnostic:
          copy: false
          create: false
          delete: false
          export: false
          import: false
          run: false
          update: false
          view: true
        inventoryReport:
          copy: false
          create: false
          delete: false
          export: false
          import: false
          run: false
          update: false
          view: true
        approveInventories:
          copy: false
          create: false
          delete: false
          export: false
          import: false
          run: false
          update: false
          view: true
    SecureLookupExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            fileReferenceId:
              type: string
              description: >-
                The reference URI value returned from the endpoint for uploading
                files to the Masking Engine.
            latestKeyResetTime:
              type: string
              description: >-
                The last time the algorithm's key was randomized. This changes
                the masked results of the algorithm.
              format: date-time
              readOnly: true
    SegmentMappingExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            preservedRanges:
              type: array
              description: >-
                List of character {offset, length} values specifying ranges of
                the real value to preserve. Offsets begin at 0
              items:
                $ref: '#/components/schemas/SegmentMappingPreservedRange'
            ignoreCharacters:
              type: array
              description: >-
                List of decimal values specifying UTF-16 codepoints of
                characters to ignore (not mask, not count as part of any
                segment) in the real value. For example, 65 would ignore 'A'
              items:
                type: integer
            segments:
              maxItems: 36
              minItems: 2
              type: array
              items:
                $ref: '#/components/schemas/SegmentMappingSegment'
            segmentsGroupLength:
              type: array
              description: The array to hold UI display length of each Segment group.
              items:
                type: integer
            errorHandlingMode:
              type: string
              description: >-
                The behavior should a non-conformant, segment mapping data
                pattern be encountered by the algorithm.
              enum:
                - DEFAULT
                - DONT_MASK
                - FAIL
                - NULLIFY
              default: DEFAULT
    SegmentMappingPreservedRange:
      type: object
      properties:
        offset:
          type: integer
          description: The character offset of the range of input to preserve
        length:
          type: integer
          description: The character length of the range of input to preserve
    SegmentMappingSegment:
      type: object
      properties:
        length:
          maximum: 4
          minimum: 1
          type: integer
          description: >-
            The length of the segment in digits. This must be 1 for
            alpha-numeric segments
        minInt:
          maximum: 9999
          minimum: 0
          type: integer
          description: >-
            The minimum value of the integer output range of the mapping
            function
        maxInt:
          maximum: 9999
          minimum: 0
          type: integer
          description: >-
            The maximum value of the integer output range of the mapping
            function
        minChar:
          maxLength: 1
          minLength: 1
          type: string
          description: >-
            The minimum value of the character output range of the mapping
            function
        maxChar:
          maxLength: 1
          minLength: 1
          type: string
          description: >-
            The maximum value of the character output range of the mapping
            function
        explicitRange:
          type: string
          description: >-
            Explicitly specify the output range. Format depends on segment type
            and size
        minRealInt:
          maximum: 9999
          minimum: 0
          type: integer
          description: >-
            The minimum value of the integer range specifying which real values
            will be masked
        maxRealInt:
          maximum: 9999
          minimum: 0
          type: integer
          description: >-
            The maximum value of the integer range specifying which real values
            will be masked
        minRealChar:
          maxLength: 1
          minLength: 1
          type: string
          description: >-
            The minimum value of the character range specifying which real
            values will be masked
        maxRealChar:
          maxLength: 1
          minLength: 1
          type: string
          description: >-
            The maximum value of the character range specifying which real
            values will be masked
        explicitRealRange:
          type: string
          description: >-
            Explicitly specify the range of input values that should be masked.
            Format depends on segment type and size
    SshKey:
      type: object
      properties:
        sshKeyName:
          type: string
          description: >-
            The name of the SSH key. This field will match the file name of the
            SSH key as it exists on the file system.
          readOnly: true
    StringIdentifier:
      allOf:
        - $ref: '#/components/schemas/ObjectIdentifier'
        - required:
            - id
          type: object
          properties:
            id:
              maxLength: 50
              type: string
    SystemInformation:
      type: object
      properties:
        version:
          type: string
          description: The current version of the Masking Engine.
        build:
          type: string
          description: The current build of the Masking Engine.
        latestGlobalKeyResetTime:
          type: string
          description: The latest time the global encryption key has been regenerated.
        patentNumbers:
          type: array
          description: The patent numbers for the Masking Engine.
          items:
            type: string
        totalAllocatedMemoryForJobs:
          type: number
          description: >-
            The total memory size in MB allocated for running jobs on the
            Masking Engine.
        totalAvailableCores:
          type: integer
          description: The total number of processors available to the Masking Engine.
        totalTempFileSpace:
          type: number
          description: >-
            The total number of temporary file space available in B (bytes) on
            the Masking Engine.
        totalPermFileSpace:
          type: number
          description: >-
            The total number of permanent file space available in B (bytes) on
            the Masking Engine.
        latestApiVersion:
          type: string
          description: The latest API version supported on the Masking Engine.
        isContainerised:
          type: boolean
          description: Returns if compliance engine is running in containerized mode.
        isLDAPEnabled:
          type: boolean
          description: Returns true if application settings LDAP is set to enabled.
        isSSOEnabled:
          type: boolean
          description: Returns true if SSO is enabled.
      example:
        version: 5.2.0.0
        build: 29ab20c8501dc521d8cddc24e39c1f4f1846e6b5
        latestGlobalKeyResetTime: Mon, 4 Jun 2018 15:35:48 +0000
        patentNumbers:
          - U.S. Patent No 8,522,016
          - U.S. Patent No 8,533,470
          - U.S. Patent No 20,140,032,928
        totalAvailableMemoryForJobs: '30720'
        totalAllocatedMemoryForJobs: '20480'
        totalTempFileSpace: '5000000000'
        totalPermFileSpace: '5000000000'
        totalAvailableCores: '8'
        latestApiVersion: v5.1.6
    TableMetadata:
      required:
        - rulesetId
        - tableName
      type: object
      properties:
        tableMetadataId:
          type: integer
          description: >-
            The ID of the table metadata. This field is set by the Masking
            Engine.
          format: int32
          readOnly: true
        tableName:
          maxLength: 240
          type: string
          description: >-
            The name of the table metadata. This name must match the name of a
            table in the ruleset it is created on. This name must be unique for
            the given ruleset; in other words, the same table cannot be added to
            a ruleset more than once.
        rulesetId:
          type: integer
          description: The ID of the ruleset to create the table metadata on.
          format: int32
        customSql:
          type: string
          description: Custom SQL for the table.
        whereClause:
          maxLength: 5000
          type: string
          description: SQL where clause for the table.
        havingClause:
          maxLength: 200
          type: string
          description: SQL having clause for the table.
        keyColumn:
          maxLength: 1024
          type: string
          description: Key Column for the table.
        isMasked:
          type: boolean
          description: >-
            This field is true if one or more data columns associated with this
            table have a masking assignment, and false otherwise. Results may be
            filtered by this field using the search API.
          readOnly: true
        rowCount:
          type: integer
          description: >-
            The last known row count of the table. This value is updated during
            rule set refresh and when a masking job is executed.
          format: int64
          readOnly: true
        lastRefreshTime:
          type: string
          description: >-
            The last time the table and column metadata for this rule set were
            refreshed.
          format: date-time
          readOnly: true
        lastRowCountTime:
          type: string
          description: >-
            The last time table row counts for this rule set were fully
            refreshed.
          format: date-time
          readOnly: true
      example:
        tableName: profile
        rulesetId: 1
    TableMetadataList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadata'
    TableMetadataBulkInput:
      required:
        - tableMetadata
      type: object
      properties:
        tableMetadata:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadata'
      example:
        tableMetadata:
          - tableName: profile
            rulesetId: 2
          - tableName: address
            rulesetId: 2
          - tableName: users
            rulesetId: 2
    TableMetadataUpdateAllInput:
      type: object
      properties:
        keyColumn:
          type: string
          description: >-
            Key Column for the table. If the table has multiple key columns,
            they should be separated by comma.
        whereClause:
          type: string
          description: SQL where clause for the table.
      example:
        keyColumn: id, name
        whereClause: id > 100
    TableMetadataCustomSQL:
      type: object
      properties:
        customSql:
          type: string
          description: Custom SQL for the table.
      example:
        customSql: SELECT FROM public table1
    TestConnectorResponse:
      type: object
      properties:
        response:
          type: string
          description: Success or failure of the connection test.
    TokenizationExtension:
      allOf:
        - $ref: '#/components/schemas/AlgorithmExtension'
        - type: object
          properties:
            latestKeyResetTime:
              type: string
              description: >-
                The last time the algorithm's key was randomized. This changes
                the masked results of the algorithm.
              format: date-time
              readOnly: true
    TokenizationJob:
      required:
        - jobName
        - rulesetId
      type: object
      properties:
        tokenizationJobId:
          type: integer
          description: >-
            The ID number of the tokenization job. This field is auto-generated
            by the Masking Engine.
          format: int32
          readOnly: true
        jobName:
          maxLength: 255
          type: string
          description: >-
            The name of the tokenization job. Once the tokenization job is
            created, this field cannot be changed.
        rulesetId:
          type: integer
          description: >-
            The ID of the ruleset that this tokenization job is based on. Once
            the tokenization job is created, the underlying environment that is
            inferred from the ruleset will be unchangeable. That is, the job can
            only be updated to reference a ruleset that is in the same
            environment as the environment of the original ruleset.
          format: int32
        rulesetType:
          type: string
          description: The type of the ruleset that this tokenization job is assigned to.
          readOnly: true
        createdBy:
          maxLength: 255
          type: string
          description: >-
            The user that created the tokenization job. This field is
            auto-generated by the Masking Engine.
          readOnly: true
        createdTime:
          type: string
          description: >-
            The time when the tokenization job was created. This field is
            auto-generated by the Masking Engine.
          format: date-time
          readOnly: true
        email:
          type: string
          description: >-
            The email address to send job status notifications to; note that the
            SMTP settings must be configured first to receive notifications.
        feedbackSize:
          minimum: 1
          type: integer
          description: >-
            The granularity with which the Masking Engine provides updates on
            the progress of the tokenization job. For instance, a feedbackSize
            of 50000 results in log updates whenever 50000 rows are processed
            during the masking phase.
          format: int32
        jobDescription:
          maxLength: 255
          type: string
          description: A description of the job.
        maxMemory:
          type: integer
          description: >-
            The maximum amount of memory, in MB, that the tokenization job can
            consume during execution.
          format: int32
        minMemory:
          type: integer
          description: >-
            The minimum amount of memory, in MB, that the tokenization job can
            consume during execution.
          format: int32
        multiTenant:
          type: boolean
          description: >-
            This field determines whether the tokenization job, after creation,
            can be executed using a connector that is different from the
            underlying connector associated with the ruleset that this
            tokenization job is based on.
          default: false
        numInputStreams:
          minimum: 1
          type: integer
          description: >-
            This field controls the amount of parallelism that the tokenization
            job uses to extract out the data to be masked. For instance, when
            masking a database, specifying 5 input streams results in the
            tokenization job reading up to 5 database tables in parallel and
            then masking those 5 streams of data in parallel. The higher the
            value of this field, the more potential parallelism there will be in
            the job, but the tokenization job will consume more memory. If the
            number of input streams exceeds the number of units being masked
            (e.g. tables or files), then the excess streams will do nothing.
          format: int32
          default: 1
        onTheFlyMasking:
          type: boolean
          description: >-
            This field determines whether the tokenization job will be performed
            InPlace or OnTheFly. The process for InPlace masking is to read out
            the data to be masked, mask the data, and then load the masked data
            back into the original data source. The process for OnTheFly masking
            is to read out the data to be masked, mask the data, and then load
            the masked data back into a different data source. When masking
            OnTheFly, the field 'onTheFlyMaskingSource' must be provided.
          default: false
        databaseMaskingOptions:
          $ref: '#/components/schemas/DatabaseMaskingOptions'
        onTheFlyMaskingSource:
          $ref: '#/components/schemas/OnTheFlyMaskingSource'
        failImmediately:
          type: boolean
          description: >-
            This field determines whether the masking job will fail immediately
            or delay failure until job completion when a masking algorithm fails
            to mask its data. Setting this value to 'false' provides a means for
            a user to see all cumulative masking errors before the job is marked
            as failed.
          default: false
        enabledTasks:
          type: array
          description: >-
            This field determines what tasks to perform before/after a job from
            a set of available driver support tasks as indicated by the chosen
            target ruleset/connector.
          items:
            $ref: '#/components/schemas/JobTask'
        streamRowLimit:
          minimum: -1
          type: integer
          description: >-
            This value constrains the total number of rows that may enter the
            job for each masking stream. A setting of 0 means unlimited. A value
            of -1 selects the default value. The default value for this setting
            varies by job type. The minimum explicit value allowed is 20
      example:
        jobName: some_tokenization_job
        rulesetId: 7
        jobDescription: >-
          This example illustrates a TokenizationJob with just a handful of the
          possible fields set. It is meant to exemplify a simple JSON body that
          can be passed to the endpoint to create a TokenizationJob.
        feedbackSize: 100000
        onTheFlyMasking: false
        databaseMaskingOptions:
          batchUpdate: true
          commitSize: 20000
          dropConstraints: true
          prescript:
            name: my_prescript.sql
            contents: ALTER TABLE table_name DROP COLUMN column_name;
          postscript:
            name: my_postscript.sql
            contents: ALTER TABLE table_name ADD column_name VARCHAR(255);
    TokenizationJobList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/TokenizationJob'
    User:
      required:
        - email
        - firstName
        - isAdmin
        - lastName
        - userName
        - userStatus
      type: object
      properties:
        userId:
          type: integer
          description: >-
            The ID of the User. This field will be generated by the Masking
            Engine.
          format: int32
          readOnly: true
        userName:
          maxLength: 255
          type: string
          description: The name for this User. Note that it must be unique among Users.
        password:
          type: string
          description: >-
            The password for this User. NOTE: For updates, this field does not
            have to be set. If no password is provided on an update, then the
            current password will persist.
          x-is-sensitive: true
        firstName:
          maxLength: 255
          type: string
          description: >-
            The first name of this User. This does not need to match the user
            name.
        lastName:
          maxLength: 255
          type: string
          description: >-
            The last name of this User. This does not need to match the user
            name.
        email:
          maxLength: 255
          type: string
          description: The email address for this User.
        isAdmin:
          type: boolean
          description: >-
            True for an administrative User, false for a non-administrative
            User.
        showWelcome:
          type: boolean
          description: >-
            Flag to enable and disable welcome page for user, default true for a
            newly created User.
          default: true
        userStatus:
          type: string
          description: Status of user account.
          enum:
            - ACTIVE
            - LOCKED
            - DISABLED
        disableReason:
          maxLength: 255
          type: string
          description: The reason why the user's account was locked.
        nonAdminProperties:
          $ref: '#/components/schemas/NonAdminProperties'
        apiAccess:
          type: boolean
          description: >-
            For use with SSO only. Flag to enable and disable api access for
            users. When SSO is enabled, the value defaults to true for admins
            and false for non-admins. When SSO is disabled, the value defaults
            to true for all users. The value is only modifiable when SSO is
            enabled and only by admins. The value is immutable for admin users
            except with DCT enabled. When SSO is disabled, the value is ignored
            and the user will be granted API access.
        principal:
          type: string
          description: >-
            Identifies this user on external identity services. Used for OAuth2
            API authentication when the principal is selected as the field to
            match users with access tokens.
      example:
        userName: DelphixUser1
        password: Password_123
        firstName: First
        lastName: Last
        email: user@delphix.com
        isAdmin: false
        showWelcome: true
        userStatus: ACTIVE
        nonAdminProperties:
          roleId: 1
          environmentIds:
            - 1
            - 3
            - 7
    UserList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/User'
    UserProperties:
      required:
        - showWelcome
      type: object
      properties:
        showWelcome:
          type: boolean
          description: >-
            Flag to enable or disable the welcome page for users, with the
            default set to true for newly created users.
          default: true
      example:
        showWelcome: true
    ColumnMetadataDetailList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ColumnMetadataDetail'
    ConnectionPropertiesList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/ConnectionProperties'
    TableMetadataBulkDeltaInput:
      type: object
      properties:
        allOthers:
          type: object
          properties:
            update:
              $ref: '#/components/schemas/TableMetadata'
            delete:
              type: boolean
              description: >-
                Delete all the remaining tables in the ruleset. Cannot be used
                with 'allOthers.update'.
              default: false
            filter:
              type: string
              description: Filter the tables to update/delete based on the table name.
            exclude:
              type: array
              description: >-
                Exclude the tables from applying 'allOthers.delete' or
                'allOthers.update'.
              items:
                $ref: '#/components/schemas/TableMetadata'
        add:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadata'
        update:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadata'
        delete:
          type: array
          items:
            $ref: '#/components/schemas/TableMetadata'
    FileUploadBody:
      required:
        - file
      type: object
      properties:
        file:
          type: string
          description: The rule-set exported CSV file to be imported.
          format: binary
    ExecutionComponentLog:
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
          readOnly: true
        componentId:
          type: integer
          description: The ID of the execution component.
          format: int32
          readOnly: true
        componentName:
          maxLength: 255
          type: string
          description: Name of the execution component
        fileDownloadId:
          type: string
          description: >-
            This value is returned on GET. It can be fed into the file-downloads
            endpoint.
          readOnly: true
      example:
        executionId: 123
        componentId: 67
        componentName: table_00
        fileDownloadId: EXECUTION_LOGS-AB8aCbcdDe==
    ExecutionLog:
      type: object
      properties:
        executionId:
          type: integer
          description: >-
            The ID of the execution for the referenced job. This field is
            generated by the Masking Engine when a job is run.
          format: int32
        jobId:
          type: integer
          description: The ID of the job that is being executed.
          format: int32
        fileDownloadId:
          type: string
          description: >-
            This value is returned on GET. It can be fed into the file-downloads
            endpoint.
          readOnly: true
        status:
          type: string
          description: The status of the execution regarding its completion.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - QUEUED
            - RUNNING
            - SUCCEEDED
            - WARNING
      example:
        executionId: 123
        jobId: 167
        fileDownloadId: EXECUTION_LOGS-AB8aCbcdDe==
        status: SUCCEEDED
    FeatureFlagList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/FeatureFlag'
    FileFormatBody:
      required:
        - fileFormat
        - fileFormatType
      type: object
      properties:
        fileFormatName:
          maxLength: 100
          type: string
          description: >-
            The name of the fileformat to be uploaded, if not provided, the name
            of the uploaded file will be used.
          example: ''
        fileFormat:
          type: string
          description: >-
            The file format to be uploaded. The logical name of the file format
            will be exactly the name of this uploaded file
          format: binary
        fileFormatType:
          type: string
          description: The type of the file format being uploaded
          enum:
            - DELIMITED
            - FIXED_WIDTH
            - XML
            - JSON
            - PARQUET
    FileFormatCopy:
      required:
        - fileFormatName
      type: object
      properties:
        fileFormatName:
          maxLength: 100
          type: string
          description: The name of the new file format.
        ignoreMaskingAssignments:
          type: boolean
          description: >-
            Flag to ignore copying masking assignments. If true, masking
            assignments will not be copied.
          default: false
      example:
        fileFormatName: ''
        ignoreMaskingAssignments: 'false'
    FileMetadataBulkDeltaInput:
      type: object
      properties:
        allOthers:
          type: object
          properties:
            update:
              $ref: '#/components/schemas/FileMetadata'
            delete:
              type: boolean
              description: >-
                Delete all the remaining files in the ruleset. Cannot be used
                with 'allOthers.update'.
              default: false
            filter:
              type: string
              description: Filter the files to be update/delete based on the file name.
            exclude:
              type: array
              description: >-
                Exclude the files from applying 'allOthers.delete' or
                'allOthers.update'.
              items:
                $ref: '#/components/schemas/FileMetadata'
        add:
          type: array
          items:
            $ref: '#/components/schemas/FileMetadata'
        update:
          type: array
          items:
            $ref: '#/components/schemas/FileMetadata'
        delete:
          type: array
          items:
            $ref: '#/components/schemas/FileMetadata'
    FileUploadBody_1:
      required:
        - file
      type: object
      properties:
        file:
          type: string
          description: The file to be uploaded.
          format: binary
    ImportObjectMetadata:
      required:
        - objectIdentifier
        - objectType
      type: object
      properties:
        objectIdentifier:
          type: object
          properties: {}
          description: >-
            Identifier of the imported object on the engine where it was
            exported from.
        importedObjectIdentifier:
          type: object
          properties: {}
          description: Identifier of the imported object on this engine.
        objectType:
          type: string
          description: Type of object to export
          enum:
            - ALGORITHM_PLUGIN
            - ALGORITHM_REFERENCE
            - APPLICATION_SETTINGS
            - BINARYLOOKUP
            - CLASSIFIER
            - CLASSIFIER_REFERENCE
            - CLEANSING
            - CREDENTIAL_PATH
            - DATABASE_CONNECTOR
            - DATABASE_RULESET
            - DATABASE_RULESET_REFERENCE
            - DATASET_CONNECTOR
            - DATASET_RULESET
            - DATASET_FORMAT
            - DATA_TABLE
            - DATE_SHIFT
            - DOMAIN
            - DOMAIN_REFERENCE
            - DRIVER_SUPPORT_PLUGIN
            - ENVIRONMENT
            - FILE_CONNECTOR
            - FILE_FORMAT
            - FILE_RULESET
            - GLOBAL_OBJECT
            - JDBC_DRIVER
            - KEY
            - LICENSE_INFO
            - LOOKUP
            - MAPPLET
            - MASKING_JOB
            - MIN_MAX
            - MOUNT_INFORMATION
            - PASSWORD_VAULT
            - PROFILE_EXPRESSION
            - PROFILE_TYPE_EXPRESSION
            - PROFILE_TYPE_EXPRESSION_REFERENCE
            - PROFILE_EXPRESSION_REFERENCE
            - PROFILE_JOB
            - PROFILE_SET
            - PROFILE_SET_REFERENCE
            - REDACTION
            - REIDENTIFICATION_JOB
            - SEGMENT
            - SOURCE_DATABASE_CONNECTOR
            - SOURCE_DATASET_CONNECTOR
            - SOURCE_FILE_CONNECTOR
            - TOKENIZATION
            - TOKENIZATION_JOB
            - USER_ALGORITHM
        importStatus:
          type: string
          readOnly: true
          enum:
            - SUCCESS
            - FAILED
            - SKIPPED
        failureMessage:
          type: string
          readOnly: true
    LicenseBody:
      required:
        - jdbcDriverId
        - licenseFile
        - licenseType
      type: object
      properties:
        licenseFile:
          type: string
          description: >-
            The license file to be uploaded. The logical name of the license
            will be exactly the name of this uploaded file
          format: binary
        licenseType:
          type: string
          description: The type of the license file being uploaded
          enum:
            - JDBC_DRIVER
        jdbcDriverId:
          type: integer
          description: The ID number of the JDBC driver.
          format: int32
    MainframeDatasetFormatBody:
      required:
        - mainframeDatasetFormat
      properties:
        mainframeDatasetFormat:
          type: string
          description: >-
            The Mainframe Dataset format to be uploaded. The logical name of the
            Mainframe Dataset format will be exactly the name of this uploaded
            Mainframe Dataset file
          format: binary
    MainframeDatasetMetadataBulkDeltaInput:
      type: object
      properties:
        allOthers:
          type: object
          properties:
            update:
              $ref: '#/components/schemas/MainframeDatasetMetadata'
            delete:
              type: boolean
              description: >-
                Delete all the remaining files in the ruleset. Cannot be used
                with 'allOthers.update'.
              default: false
            filter:
              type: string
              description: Filter the files to update/delete based on the file name.
            exclude:
              type: array
              description: >-
                Exclude the files from applying 'allOthers.delete' or
                'allOthers.update'.
              items:
                $ref: '#/components/schemas/MainframeDatasetMetadata'
        add:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetMetadata'
        update:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetMetadata'
        delete:
          type: array
          items:
            $ref: '#/components/schemas/MainframeDatasetMetadata'
    NonConformantDataSampleList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/NonConformantDataSample'
    PluginList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Plugin'
    RoleList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/Role'
    RulesetDetails:
      type: object
      properties:
        rulesetId:
          type: integer
          description: >-
            The ID number of the ruleset. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        environmentId:
          type: integer
          description: >-
            The ID number of the environment. This field is auto-generated by
            the Masking Engine.
          format: int32
          readOnly: true
        rulesetName:
          maxLength: 255
          type: string
          description: The name of the ruleset. This must be unique within an environment.
          readOnly: true
        rulesetType:
          type: string
          description: The type that this ruleset describes.
          readOnly: true
        connectorName:
          maxLength: 255
          type: string
          description: The name of the connector.
          readOnly: true
        connectorId:
          type: integer
          description: >-
            The ID number of the connector. This field is auto-generated by the
            Masking Engine.
          format: int32
          readOnly: true
        metaData:
          type: string
          description: >-
            The metadata information for the collection, Type of Database in
            case of data base type collections.
          readOnly: true
        asyncTaskId:
          type: integer
          description: >-
            The ID of the AsyncTask. This field will be generated by the Masking
            Engine and it only available for database rulesets.
          format: int32
          readOnly: true
        asyncStatus:
          type: string
          description: >-
            The status of the AsyncTask in regard to its completion and it only
            available for database rulesets.
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - RUNNING
            - SUCCEEDED
            - WAITING
        pluginObjects:
          type: array
          description: >-
            List of enabled tasks for the ruleset. If the ruleset is not
            database type, this field will be empty.
          readOnly: true
          items:
            $ref: '#/components/schemas/PluginObject'
      example:
        rulesetId: 1
        environmentId: 1
        rulesetName: DelimitedFileRuleset
        rulesetType: delimitedFile
    RulesetDetailsList:
      type: object
      properties:
        _pageInfo:
          $ref: '#/components/schemas/PageInfo'
        responseList:
          type: array
          items:
            $ref: '#/components/schemas/RulesetDetails'
    SshKeyBody:
      required:
        - sshKey
      type: object
      properties:
        sshKey:
          type: string
          description: >-
            The SSH key to be uploaded. The logical name of the SSH key will be
            exactly the name of this uploaded file
          format: binary
    AlgorithmField:
      type: object
      properties:
        fieldId:
          type: integer
          description: The id of the algorithm field.
          format: int64
          readOnly: true
        name:
          type: string
          description: The name of the algorithm field.
          readOnly: true
        type:
          type: string
          description: The type of value this algorithm field.
          readOnly: true
          enum:
            - BIG_DECIMAL
            - LOCAL_DATE_TIME
            - STRING
            - BYTE_BUFFER
        isReadOnly:
          type: boolean
          description: >-
            Indicates whether the field is read-only. Read-only fields are taken
            as input by the masking algorithm but not masked.
          readOnly: true
        isOptional:
          type: boolean
          description: >-
            Indicates whether the field is optional. Optional fields do not have
            to be assigned to a real data field or column in order for a masking
            assignment to be considered valid.
          readOnly: true
        description:
          type: string
          description: The description of the algorithm field.
          readOnly: true
    EventNameEnum:
      type: string
      description: The name of the server event
      enum:
        - MASKING_EXECUTION_CANCELLED
        - MASKING_EXECUTION_FAILED
        - MASKING_EXECUTION_QUEUED
        - MASKING_EXECUTION_RUNNING
        - MASKING_EXECUTION_SUCCEEDED
        - MASKING_EXECUTION_WAITING
        - MASKING_EXECUTION_WARNING
        - MASKING_JOB_CREATED
        - MASKING_JOB_DELETED
        - MASKING_JOB_UPDATED
        - PROFILE_EXECUTION_CANCELLED
        - PROFILE_EXECUTION_FAILED
        - PROFILE_EXECUTION_QUEUED
        - PROFILE_EXECUTION_RUNNING
        - PROFILE_EXECUTION_SUCCEEDED
        - PROFILE_EXECUTION_WAITING
        - PROFILE_EXECUTION_WARNING
        - PROFILE_JOB_CREATED
        - PROFILE_JOB_DELETED
        - PROFILE_JOB_UPDATED
        - TOKENIZE_EXECUTION_CANCELLED
        - TOKENIZE_EXECUTION_FAILED
        - TOKENIZE_EXECUTION_QUEUED
        - TOKENIZE_EXECUTION_RUNNING
        - TOKENIZE_EXECUTION_SUCCEEDED
        - TOKENIZE_EXECUTION_WAITING
        - TOKENIZE_EXECUTION_WARNING
        - TOKENIZE_JOB_CREATED
        - TOKENIZE_JOB_DELETED
        - TOKENIZE_JOB_UPDATED
        - REIDENTIFY_EXECUTION_CANCELLED
        - REIDENTIFY_EXECUTION_FAILED
        - REIDENTIFY_EXECUTION_QUEUED
        - REIDENTIFY_EXECUTION_RUNNING
        - REIDENTIFY_EXECUTION_SUCCEEDED
        - REIDENTIFY_EXECUTION_WAITING
        - REIDENTIFY_EXECUTION_WARNING
        - REIDENTIFY_JOB_CREATED
        - REIDENTIFY_JOB_DELETED
        - REIDENTIFY_JOB_UPDATED
        - ASYNC_TASK_RUNNING
        - ASYNC_TASK_WAITING
        - ASYNC_TASK_SUCCEEDED
        - ASYNC_TASK_FAILED
        - ASYNC_TASK_CANCELLED
    TaskEvents:
      type: object
      properties:
        event:
          maxLength: 255
          type: string
          description: The steps or events a task will perform
          readOnly: true
        order:
          type: integer
          description: execution order of the task events
          readOnly: true
        status:
          type: string
          description: The state of result of the task event
          readOnly: true
          enum:
            - CANCELLED
            - FAILED
            - QUEUED
            - RUNNING
            - SUCCEEDED
            - SKIPPED
            - NON_CONFORMANT
    JobTask:
      required:
        - taskId
      type: object
      properties:
        taskId:
          type: integer
          description: >-
            The object identifier of the DRIVER_SUPPORT_TASK plugin object type
            found in the response of the plugin API.
          format: int32
          readOnly: true
      example:
        taskId: 1
    NonConformantDataSample:
      type: object
      properties:
        dataSampleId:
          type: integer
          description: The ID of the non-conformant data sample.
          format: int64
          readOnly: true
        executionEventId:
          type: integer
          description: The ID of the execution event this sample is associated with.
          format: int64
          readOnly: true
        dataSample:
          type: string
          description: >-
            The redacted value of the non-conformant field data that could not
            be masked by the assigned algorithm.
          readOnly: true
        count:
          type: integer
          description: The approximate number of times this data pattern was encountered.
          format: int64
          readOnly: true
      example:
        dataSampleId: 1
        executionEventId: 1
        dataSample: NNNNNNNNNN
        count: 1
    ColumnMetadataDetail:
      required:
        - isProfilerWritable
      type: object
      properties:
        columnMetadataId:
          type: integer
          description: >-
            The ID number of the column metadata. This field is auto-generated
            by the Masking Engine.
          format: int64
          readOnly: true
        columnName:
          maxLength: 255
          type: string
          description: The name of the column, as determined by the underlying table.
          readOnly: true
        tableMetadataId:
          type: integer
          description: >-
            The ID number of the table metadata that this column is a part of.
            This field is auto-generated by the Masking Engine.
          format: int32
          readOnly: true
        tableName:
          maxLength: 255
          type: string
          description: >-
            The name of the table metadata. This name must match the name of a
            table in the ruleset it is created on. This name must be unique for
            the given ruleset; in other words, the same table cannot be added to
            a ruleset more than once.
          readOnly: true
        algorithmName:
          maxLength: 500
          type: string
          description: >-
            The name of the algorithm assigned to this column. Columns that are
            unmasked should have this property unset, in addition to having
            'domainName' unset. If this field is set, then the 'domainName' must
            also be specified.
        algorithmFieldId:
          type: integer
          description: >-
            The ID number of the algorithm field that is associated with this
            column.
          format: int64
        algorithmFieldName:
          type: string
          description: The name of the algorithm field that is associated with this column.
          readOnly: true
        algorithmGroupNo:
          type: integer
          description: >-
            The group number of algorithm to identify a set of columns
            associated with one instance of algorithm.
          format: int64
        domainName:
          maxLength: 100
          type: string
          description: >-
            The name of the domain assigned to this column. Columns that are
            left unmasked should have this property unset. If the 'domainName'
            is set, but the 'algorithmName' is unset, then the default algorithm
            corresponding to the 'domainName' will be used.
        dataType:
          maxLength: 50
          type: string
          description: The data type of this column.
          readOnly: true
        dateFormat:
          maxLength: 50
          type: string
          description: The date format of the date assigned to this column.
        columnLength:
          type: integer
          description: >-
            The length of the column, in number of characters, as determined by
            the underlying table.
          format: int32
          readOnly: true
        isMasked:
          type: boolean
          description: >-
            This field indicates whether or not a column is being masked. This
            field is assigned by the Masking Engine to true or false based on
            whether the column is assigned an algorithm and domain.
          readOnly: true
        isProfilerWritable:
          type: boolean
          description: >-
            This field indicates whether or not a column's fields (e.g.
            algorithm or domain assignment) may be modified during the execution
            of a profile job when there is a profiling match.
        isPrimaryKey:
          type: boolean
          description: >-
            This field indicates whether or not a column is a primary key. This
            field is determined by the Masking Engine.
          readOnly: true
        isIdentity:
          type: boolean
          description: >-
            This field indicates whether or not a column is an identity column.
            An identity column differs from a primary key in that its values are
            managed by the database server and usually cannot be modified. In
            many cases an identity column is used as a primary key; however,
            this is not always the case. This field is determined by the Masking
            Engine.
          readOnly: true
        isIndex:
          type: boolean
          description: >-
            This field indicates whether or not a column is an index. This field
            is determined by the Masking Engine.
          readOnly: true
        isForeignKey:
          type: boolean
          description: >-
            This field indicates whether or not a column is a foreign key. This
            field is determined by the Masking Engine.
          readOnly: true
        nullable:
          type: string
          description: >-
            This field indicates whether or not a column is nullable. This field
            is determined by the Masking Engine.
        isDocStoreSupported:
          type: boolean
          description: >-
            This field indicates whether or not a column supports Document store
            type.
          readOnly: true
        documentStoreType:
          type: string
          description: >-
            This field indicates the type of document stored in the column.
            Required in case where fileFormatId is provided. Accepted values:
            ['JSON','XML']
        fileFormatId:
          type: integer
          description: >-
            The ID number of the file format. Required in case where
            documentStoreType is provided.
          format: int32
        fileFormatName:
          type: string
          description: The name of the file format, as inferred from the uploaded file.
        notes:
          maxLength: 500
          type: string
          description: This field is used to store additional information about the column.
        domainAssignedBy:
          type: string
          description: This field indicates who assigned the domain to the column.
          readOnly: true
      example:
        algorithmName: FirstNameLookup
        domainName: FIRST_NAME
        isProfilerWritable: false
    S3CompatibleDetails:
      type: object
      properties:
        bucketName:
          maxLength: 255
          type: string
          description: This field is the bucket name for s3 compatible storage.
        region:
          maxLength: 100
          type: string
          description: This field is the region of s3 compatible storage bucket.
        accessKey:
          maxLength: 255
          type: string
          description: >-
            This field is the access key to access the s3 compatible storage
            object.
        secretKey:
          maxLength: 255
          type: string
          description: >-
            This field is the secret key to access the s3 compatible storage
            object.
        prefix:
          maxLength: 1024
          type: string
          description: This field is the prefix for filteration.
        delimiter:
          maxLength: 1024
          type: string
          description: This field is the delimiter for filteration.
        serviceEndpoint:
          maxLength: 1024
          type: string
          description: This field is the service endpoint for s3 compatible storage.
    AzureBlobStorageDetails:
      type: object
      properties:
        accountName:
          maxLength: 255
          type: string
          description: This field is the account name for the Azure Storage account.
        containerName:
          maxLength: 255
          type: string
          description: >-
            This field is the name of the container in the Azure Storage
            account.
        accessKey:
          maxLength: 255
          type: string
          description: This field is the access key to access the Azure Storage account.
        prefix:
          maxLength: 1024
          type: string
          description: This field is the prefix for filtering blobs in the container.
        delimiter:
          maxLength: 1024
          type: string
          description: This field is the delimiter for filtering blobs in the container.
        authType:
          maxLength: 50
          type: string
          description: This field is the type of azure authentication.
    ExportResponseMetadataItem:
      allOf:
        - $ref: '#/components/schemas/ExportObjectMetadata'
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
